Re: [osg-users] Opaque black shadows since moving to OSG V3.0.1

2012-02-12 Thread Morné Pistorius
Hi all,

I actually posted about a similar issue 3 days ago, and included
screenshots and a cpp file, but my post never made it on to the list.
It may have been filtered due to attachments on first post.

Anyway, I think there is a general regression in osgShadow from 2.8.3
to 3.0.1.  The problem that I was seeing was with SoftShadowMap where
the shaded areas are transparent.  It is easily reproducible in the
osgShadow example by making the SoftShadow technique default, and
adding GL_BLEND to the default model 3 stateset.  If GL_BLEND is
enabled, shadows make the receiver object transparent in the areas
where the shadows are projected.

I tracked this down to a change in the shader code where shadows
values were changed from a vec4 to a float.  Using the original shader
from 2.8.3 works fine, but the current one is broken.

Cheers,
Morné

On Fri, Dec 2, 2011 at 6:53 PM, Wojciech Lewandowski
w.p.lewandow...@gmail.com wrote:
 Hi, Guys,

 I think I see the reason why Robert commented it. For spotlights ambient
 factor should be attenuated with distance from light. It would be hard to
 compute attenuation in frag shader  without assistance of vertex shader. I
 would bet it would be possible but very tricky, though. Anyway, IMHO when
 that line is commented its worse because such ambient factor is both wrong
 for directional and spot lights.
 That issue again proves that there is no silver bullet for shadow technique
 shaders. Depending on what your app does you may need different set of
 shaders, if not whole technique.
 So maybe you guys should consider passing in your own shaders (copied from
 2.8 version) to make that look  right again...

 Cheers,
 Wojtek Lewandowski


 2011/12/1 Wojciech Lewandowski w.p.lewandow...@gmail.com

 Hi, Michael,

 Well, then I guess addition of gl_FrontLightProduct[0] should be
 uncomented. And thats a missing piece of the puzzle... SVN Blame shows that
 Robert commented it in 12737 rev on 29th of  July. I guess its time to ask
 Robert what to do with this.

 Cheers,
 WL


 2011/12/1 Michael Guerrero mjgue...@nps.edu

 Hi Wojtek,

 It certainly did seem as though I completely missed the addition with
 gl_FrontLightProduct[0].ambient.
 Unfortunately what happened was that after I copy/pasted it in the
 message I removed the quotes around it and more importantly the comment
 characters //.  Here is a link to the file in question:

 http://www.openscenegraph.org/projects/osg/browser/OpenSceneGraph/tags/OpenSceneGraph-3.0.1/src/osgShadow/StandardShadowMap.cpp

 FYI, that piece of code looks the same on the trunk:

 http://www.openscenegraph.org/projects/osg/browser/OpenSceneGraph/trunk/src/osgShadow/StandardShadowMap.cpp

 --
 Read this topic online here:
 http://forum.openscenegraph.org/viewtopic.php?p=44170#44170





 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org




 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Build Osg with 64Bit (dependency)

2010-02-25 Thread Morné Pistorius
Excellent news!  Thank you, that will be really helpful!

Regards,
Morne

On Wed, Feb 24, 2010 at 7:49 PM, Anders Backman ande...@cs.umu.se wrote:
 I managed to build what I need in 64bit.
 My take on it was to cmakeify them all.
 Collada, boost (only  libsystem, libfilesystem), (jpeg, png and zlib was
 alredy cmakified.)
 There are a few which Im not interested in, including jasper, tiff and a few
 more.
 I can certainly pack this into a zip including the bin/lib/include content.
 I'll see if I get it done tomorrow.
 Took a while though to get everything to build, which everyone (including
 the Collada team would open their eyes and spot CMake.


 /A
 On Wed, Feb 24, 2010 at 6:41 PM, Luigi Calori l.cal...@cineca.it wrote:

 Hi, I ' m building a somehow cmaked, static version of the (currently
 basic) osg dependencies.
 I' m trying also to make it extensible by keeping patch and compiler
 options in separate folders.
 I attach a zip of my current repo:
 try to build the Assemblies/test2 folder with latest 2.8 cmake.
 It should work also for win64 i tested with msvc9 32

 Hope it helps
 Luigi


 Morné Pistorius wrote:

 Hi Anders,

 How did you get on with this?  Were you able to build the third party
 dependencies for Win64?  A third party package, even with just the
 basic dependencies to build most of OSG, would really be helpful.  I
 was about to start building my own when I found this thread, and hoped
 you had beat me to it! :)

 Cheers,
 Morne

 On Wed, Feb 10, 2010 at 8:45 AM, Anders Backman ande...@cs.umu.se
 wrote:


 Hi all. Looong  time no see.
 Im currently trying to build OSG on 64bit under windows (VS2009).
 Getting all the dependencies over to 64bit is apain.
 I did a quick search through forum/mail, and it seems that not many does
 this.
 Is there ANYONE with a prebuilt package including Collada (with boost,
 pcre,
 libxml), jpeg, png, zlib for 64bit windows?

 The Cmake:d versions of jpeg, zlib, png was certainly a big help.
 But before I dig into this, perhaps someone has a prebuilt package?
 --

 /Anders
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org

 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org




 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org





 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org




 --

 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Build Osg with 64Bit (dependency)

2010-02-24 Thread Morné Pistorius
Hi Anders,

How did you get on with this?  Were you able to build the third party
dependencies for Win64?  A third party package, even with just the
basic dependencies to build most of OSG, would really be helpful.  I
was about to start building my own when I found this thread, and hoped
you had beat me to it! :)

Cheers,
Morne

On Wed, Feb 10, 2010 at 8:45 AM, Anders Backman ande...@cs.umu.se wrote:
 Hi all. Looong  time no see.
 Im currently trying to build OSG on 64bit under windows (VS2009).
 Getting all the dependencies over to 64bit is apain.
 I did a quick search through forum/mail, and it seems that not many does
 this.
 Is there ANYONE with a prebuilt package including Collada (with boost, pcre,
 libxml), jpeg, png, zlib for 64bit windows?

 The Cmake:d versions of jpeg, zlib, png was certainly a big help.
 But before I dig into this, perhaps someone has a prebuilt package?
 --

 /Anders
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] OpenSceneGraph-2.8.0-rc3 tagged, please test

2009-02-09 Thread Morné Pistorius
Hi Robert,

Built 2.8.0 branch, revision 9716 on Windows, VS 2005 SP1.  Everything
built fine, 0 errors, 0 warnings.

Cheers,
Morne


On Mon, Feb 9, 2009 at 12:37 PM, Robert Osfield
robert.osfi...@gmail.com wrote:
 Hi All,

 I would like to tag 2.8.0 this afternoon, which means in the next hour
 or two.  I'm basically ready.  The code this last week has actually
 looked pretty stable considering the relatively small number of
 problems reported.  I would have liked more feedback on the niche
 platforms such as Solaris, IRIX, HP-UX and AIX, but we can't hold back
 the release indefinitely - we all have other work to get on with.
 Please shout now if you are about to do some testing and wish to hold
 the release till you get your results.

 Thanks,
 Robert.
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Please test OSG-2.8 in prep for 2.8.0-rc2

2009-02-05 Thread Morné Pistorius
Hi Robert,

Just did a fresh build on Windows Vista, VS 2005 SP1.  Everything
built fine without a single warning!  I see nothing unexpected in
testing on my application.  Good stuff :)

Cheers,
Morne

On Thu, Feb 5, 2009 at 3:31 PM, Robert Osfield robert.osfi...@gmail.com wrote:
 Hi All,

 I've made several check-in's to OpenSceneGraph-2.8 since rc1, so these
 all now need testing.  Could you please try out the 2.8 in svn and let
 me know how you get on.  I want to know about success + failures.

 I've also checked in some experimental VS versioning of libs into the
 svn/trunk version of the OSG, so it's already diverted a bit from
 OSG-2.8, so a failure on svn/trunk won't necessarily map to problems
 with OSG-2.8.

 Thanks,
 Robert.
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] svn/trunk ready to make OpenSceneGraph-2.8 branch, please do last build test of snv/trunk :-)

2009-02-04 Thread Morné Pistorius
Hi Robert,

Just built a clean checkout of the 2.8 branch on Windows Vista, Visual
Studio 8 SP1.  Apart from the std::list warning that we can't do much
about, there were 4 left in OSGA_Archive.cpp (below).  I tested the
build in our app and everything worked as expected.

Cheers,
Morne

warning C4512: 'OSGA_Archive::WriteObjectFunctor' : assignment
operator could not be
generated   
c:\P\TestLibs\OSG\OpenSceneGraph-SVN\src\osgPlugins\osga\OSGA_Archive.cpp   
727
warning C4512: 'OSGA_Archive::WriteImageFunctor' : assignment operator
could not be generated  
c:\P\TestLibs\OSG\OpenSceneGraph-SVN\src\osgPlugins\osga\OSGA_Archive.cpp   
737
warning C4512: 'OSGA_Archive::WriteHeightFieldFunctor' : assignment
operator could not be
generated   
c:\P\TestLibs\OSG\OpenSceneGraph-SVN\src\osgPlugins\osga\OSGA_Archive.cpp   
747
warning C4512: 'OSGA_Archive::WriteNodeFunctor' : assignment operator
could not be generated  
c:\P\TestLibs\OSG\OpenSceneGraph-SVN\src\osgPlugins\osga\OSGA_Archive.cpp   
757


On Wed, Feb 4, 2009 at 1:02 PM, Robert Osfield robert.osfi...@gmail.com wrote:
 Hi All,

 I have now made the OpenSceneGraph-2.8 branch, the svn entry for it is:

   
 http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.8/

 If those don't CDash builds (as well as everyone else) move across to
 using this branch as the base for testing the OSG-2.8 release series.
 I'll also soon be making an OSG-2.8.0-rc1, but first I'll do a fresh
 build on the 2.8 branch and see how I get on.  It'd be useful to have
 feedback from others as well on how the OSG-2.8 is fairing.

 Robert.
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] SVN (2.8) bugs in osgviewerQt

2009-02-04 Thread Morné Pistorius
Hi Robert, J-S,

Thanks for the suggestions!  I removed the Qt event relay methods and
added a dummy view with a zero sized viewport to my viewer.  The
single context, multiple view tiled viewer now works as expected,
adding/removing views and clearing the window as it should.

Thanks again for your help!!  You saved me a lot of debugging headache :)

Regards,
Morné

PS. Do you want me to submit a modified osgviewerQt example with these
fixes/workarounds?


On Tue, Feb 3, 2009 at 7:57 PM, Jean-Sébastien Guay
jean-sebastien.g...@cm-labs.com wrote:
 Hi Morné,

 The other approach might be to create an empty View that does nothing,
 has no scene, but at least has a Camera with the GraphicsWindow
 assigned to it.  It's viewport could be zero sized so would be litte
 more than a non op, and you have have the GraphicsWindow do the clear
 each frame for you.  This approach why a bit inelegant would probably
 prevent the problems you are seeing, and would just require an
 additionally couple of lines of set up code at the creation time,
 thereafter you'd just ignore this extra View.

 Yep, in my testing what Robert suggests would work since as long as you have
 at least one view there is no problem. It's removing that last view and then
 adding others that brings up the problem.

 Sorry I couldn't find anything more definitive on my end.

 J-S
 --
 __
 Jean-Sebastien Guayjean-sebastien.g...@cm-labs.com
   http://www.cm-labs.com/
http://whitestar02.webhop.org/
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] SVN (2.8) bugs in osgviewerQt

2009-02-03 Thread Morné Pistorius
Hi Robert,

I first posted about these problems in the Test 2.8 thread.  I still
see two problems in the osgviewerQt example and managed to reproduce
both in the attached modified file.

1. Unable to spin/throw a model using QOSGWidget as a viewer.
2. viewer-addView doesn't work if the composite viewer is empty and
trying to add a new view at runtime.

These problems can be reproduced with the following command line (and
the above modified file):

osgviewerQt cessna.osg --QOSGWidget --CompositeViewer

Apart from this issue, 2.8 works fine in my application.

Thanks for all the effort you put into OSG, it really is an excellent library!

Cheers,
Morne
/* OpenSceneGraph example, osganimate.
*
*  Permission is hereby granted, free of charge, to any person obtaining a copy
*  of this software and associated documentation files (the Software), to deal
*  in the Software without restriction, including without limitation the rights
*  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
*  copies of the Software, and to permit persons to whom the Software is
*  furnished to do so, subject to the following conditions:
*
*  THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
*  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
*  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
*  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
*  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
*  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
*  THE SOFTWARE.
*/

#if USE_QT4

#include QtCore/QString
#include QtCore/QTimer
#include QtGui/QKeyEvent
#include QtGui/QApplication
#include QtGui/QtGui
#include QtGui/QWidget
using Qt::WindowFlags;

#else

class QWidget;
#include qtimer.h
#include qgl.h
#include qapplication.h

#define WindowFlags WFlags

#endif


#include osgViewer/Viewer
#include osgViewer/CompositeViewer
#include osgViewer/ViewerEventHandlers
#include osgViewer/GraphicsWindow

#include osgViewer/ViewerEventHandlers

#if defined(WIN32)  !defined(__CYGWIN__)
#include osgViewer/api/Win32/GraphicsWindowWin32
typedef HWND WindowHandle;
typedef osgViewer::GraphicsWindowWin32::WindowData WindowData;
#elif defined(__APPLE__)  // Assume using Carbon on Mac.
#include osgViewer/api/Carbon/GraphicsWindowCarbon
typedef WindowRef WindowHandle;
typedef osgViewer::GraphicsWindowCarbon::WindowData WindowData;
#else // all other unix
#include osgViewer/api/X11/GraphicsWindowX11
typedef Window WindowHandle;
typedef osgViewer::GraphicsWindowX11::WindowData WindowData;
#endif


#include osgGA/TrackballManipulator
#include osgGA/FlightManipulator
#include osgGA/DriveManipulator
#include osgGA/KeySwitchMatrixManipulator
#include osgGA/StateSetManipulator
#include osgGA/AnimationPathManipulator
#include osgGA/TerrainManipulator

#include osgDB/ReadFile

#include iostream
#include sstream

class QOSGWidget : public QWidget
{
public:

QOSGWidget( QWidget * parent = 0, const char * name = 0, WindowFlags f 
= 0, bool overrideTraits = false);

virtual ~QOSGWidget() {}

osgViewer::GraphicsWindow* getGraphicsWindow() { return _gw.get(); }
const osgViewer::GraphicsWindow* getGraphicsWindow() const { return 
_gw.get(); }

protected:

void init();
void createContext();

virtual void mouseDoubleClickEvent ( QMouseEvent * event );
virtual void closeEvent( QCloseEvent * event );
virtual void destroyEvent( bool destroyWindow = true, bool 
destroySubWindows = true);
virtual void resizeEvent( QResizeEvent * event );
virtual void keyPressEvent( QKeyEvent* event );
virtual void keyReleaseEvent( QKeyEvent* event );
virtual void mousePressEvent( QMouseEvent* event );
virtual void mouseReleaseEvent( QMouseEvent* event );
virtual void mouseMoveEvent( QMouseEvent* event );

osg::ref_ptrosgViewer::GraphicsWindow _gw;
bool _overrideTraits;
};

QOSGWidget::QOSGWidget( QWidget * parent, const char * name, WindowFlags f, 
bool overrideTraits):
#if USE_QT4
QWidget(parent, f), _overrideTraits (overrideTraits)
#else
QWidget(parent, name, f), _overrideTraits (overrideTraits)
#endif
{
createContext();


#if USE_QT4
setAttribute(Qt::WA_PaintOnScreen);
setAttribute(Qt::WA_NoSystemBackground);
setFocusPolicy(Qt::ClickFocus);
#else
setBackgroundMode(Qt::NoBackground);
#endif
}

void QOSGWidget::createContext()
{
osg::DisplaySettings* ds = osg::DisplaySettings::instance();

osg::ref_ptrosg::GraphicsContext::Traits traits = new 
osg::GraphicsContext::Traits;

traits-readDISPLAY();
if (traits-displayNum0) traits-displayNum = 0;

traits-windowName = osgViewerQt;
traits-screenNum = 0;
traits-x = x();
traits-y = y();
traits-width = width();
traits-height = 

Re: [osg-users] SVN (2.8) bugs in osgviewerQt

2009-02-03 Thread Morné Pistorius
Hi J-S,

Thank you so much for the help, much appreciated.  I downloaded and
built Qt 4.4.3 today, thinking it might have been a Qt problem, since
I was using an older version than Robert.

I will replace the event methods with your suggestion.

W.r.t the composite viewer, I would really rather use it with multiple
views in single context.  In our application, these tiled views could
be very many at once and I think context switching between all of them
would be bad for performance.

Again, I appreciate your help looking into this!

Thanks,
Morné

On Tue, Feb 3, 2009 at 4:21 PM, Jean-Sébastien Guay
jean-sebastien.g...@cm-labs.com wrote:
 Hi again Morné,

 - The trackball manipulator does not throw (since Robert does not see this
 we can assume this is a Windows-specific problem, either caused by Qt on
 Windows or GraphicsWindowWin32's event handling)

 I've found out why this is. Since QOSGWidget uses GraphicsWindowWin32
 directly, the graphics window already sends mouse events to the event queue.
 So in QOSGWidget::mouse*Event (Press, DoubleClick, Release, Move), you don't
 want to call _gw-getEventQueue()-mouseButton*() because then it means that
 the same event is sent twice. This has the effect that if two release events
 are received by the TrackballManipulator, it stops the throw since the mouse
 speed when it gets the second release is 0.

 I would still send the events to QWidget though, just to be sure, so I would
 replace those methods by:

 void QOSGWidget::mousePressEvent( QMouseEvent* event )
 {
QWidget::mousePressEvent(event);
 }

 (or just not override them) and so on for all other event methods. The
 actual event will be put in the event queue in
 GraphicsWindowWin32::handleNativeWindowingEvent().

 In our project, we had run into the same problem, but we resolved it
 differently. We subclassed GraphicsWindowWin32 to ignore all events, and
 instead add them in the event queue in the overridden QOSGWidget methods. I
 don't remember why we did it this way, but I think the above is more
 general, in addition to not requiring a subclass.

 I'm still looking for the cause/solution to the addView() problem.

 J-S
 --
 __
 Jean-Sebastien Guayjean-sebastien.g...@cm-labs.com
   http://www.cm-labs.com/
http://whitestar02.webhop.org/
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] SVN (2.8) bugs in osgviewerQt

2009-02-03 Thread Morné Pistorius
Hi Robert,

On Tue, Feb 3, 2009 at 11:21 AM, Robert Osfield
robert.osfi...@gmail.com wrote:
 Hi Morne,

 On Tue, Feb 3, 2009 at 10:50 AM, Morné Pistorius
 mpistorius@googlemail.com wrote:
 I first posted about these problems in the Test 2.8 thread.  I still
 see two problems in the osgviewerQt example and managed to reproduce
 both in the attached modified file.

 I've just downloaded and tested your modified file.

 1. Unable to spin/throw a model using QOSGWidget as a viewer.

 For me at least, the spinning and throwing works for both of the cessna 
 models.

 What platform and Qt version are you working with?

I am on Windows Vista, using Qt 4.3.3.  Do you think it is a Qt
problem?  When trying to debug it, I could rotate the model, but not
throw it. TrackballManipulator::IsMouseMoving() always returned false
on a mouse button RELEASE event.  This only happens for the QOSGWidget
though, I can throw it fine using the QGLWidget.


 2. viewer-addView doesn't work if the composite viewer is empty and
 trying to add a new view at runtime.

 How do I reproduce this problem?

Sorry, not enough info :)  Pressing 'a' will add a view, 'r' will
remove it.  It works as expected until the last view is removed.
Another way to see it is to construct the composite viewer without
adding any views at compile time, and then trying to add one pressing
'a' at runtime.

Cheers,
Morne
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] svn/trunk ready to make OpenSceneGraph-2.8 branch, please do last build test of snv/trunk :-)

2009-02-03 Thread Morné Pistorius
Hi Robert,

I think in VS, specifiying something as just unsigned causes the
compiler to read unsigned int.

If you change the line to

return static_castunsigned long const volatile (_value);

I think the warning will disappear.

Cheers,
Morne

On Tue, Feb 3, 2009 at 2:48 PM, Robert Osfield robert.osfi...@gmail.com wrote:
 Hi Windows experts,

 Here's another Windows warning that I'll like a hand resolving:

 2..\common\Atomic.cpp(133) : warning C4239: nonstandard extension
 used : 'static_cast' : conversion from 'volatile const long' to
 'volatile const unsigned int '

 The code is:

 Atomic::operator unsigned() const
 {
 #if defined(_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS)
__sync_synchronize();
return _value;
 #elif defined(_OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED)
MemoryBarrier();
return static_castunsigned const volatile (_value);
 Here is line 133, problem line.
 #elif defined(_OPENTHREADS_ATOMIC_USE_BSD_ATOMIC)
OSMemoryBarrier();
return static_castunsigned const volatile(_value);
 #else
 # error This implementation should happen inline in the include file
 #endif
 }

 To me a fix would be to remove the  from the static_castunsigned
 const volatile  as it seems a tad superfluous in this method as it's
 returning an unsigned int on the stack anyway.

 Thoughts?
 Robert.
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] CPU usage

2009-02-02 Thread Morné Pistorius
Hi guys,

Just one more data point: a colleague of mine tested our OSG app in
linux last week and also found one of the cores (on his 8 core
machine) utilising 100% cpu.  After some investigation, this turned
out to a call to schedyield on the thread in the gl driver.  Posibly
you are seeing something similar..

Cheers,
Morne

On Mon, Feb 2, 2009 at 8:25 AM, Adrian Egli OpenSceneGraph (3D)
3dh...@gmail.com wrote:
 Greate news (or bad news) that means we have not a windows issue. what
 happens when you switch to singelthreaded ?

 /adrian

 2009/2/1 Simon Loic simon1l...@gmail.com

 Hi,
 in my case when I am runing osgviewer on a ubuntu distribution with 4
 cores I get 25% of cpu, which means that one of my cores is over used. One
 of my colleagues have exactly the same behavior. Thus I don't think this is
 windows related only.

 On Sun, Feb 1, 2009 at 2:55 PM, Glenn Waldron gwald...@gmail.com wrote:

 Adrian,

 I have observed an intermittent problem on Windows in which osgviewer
 starts up using a high CPU %, but then cycling through the threading
 modes with 'm' makes the problem go away - even when you return to the
 mode in which you started. I never did figure out why.

 Just a data point...


 Glenn Waldron : Pelican Mapping : http://pelicanmapping.com :
 +1.703.652.4791



 On Sun, Feb 1, 2009 at 7:45 AM, Adrian Egli OpenSceneGraph (3D)
 3dh...@gmail.com wrote:
  Hi Cory,
 
  I am working with Windows Vista dual core system. I get 50% CPU usage
  when i
  am running osgviewer cow.osg if i start
  osgviewer cow.osg --SingleThreaded i have no longer 50% CPU usage , now
  i
  have about 0.5-3% CPU usage !
 
  i am very busy at the moment, but may tomorrow i will debug the OSG
  core,
  may there is a bug inside or a thread running at max.
  or robert has some idea,where i can start with debugging. may it's a
  windows
  vista bug
 
  adrian
 
 
  2009/2/1 Robert Osfield robert.osfi...@gmail.com
 
  Hi Cory,
 
  I'll have to defer to others on the situation under Windows when doing
  remote desktop.  My guess is that it's likely to be a driver issue.
 
  Robert.
 
  On Sat, Jan 31, 2009 at 3:27 PM, Cory Riddell c...@codeware.com
  wrote:
   I'm not sure about vysync. I'll look that up and check it.
  
   I thought about the possibility of it being a debug build and I
   don't
   think
   that's it. In my bin directory I have osgviewer.exe at 25,600 bytes
   and
   osgviewerd.exe at 81,920 bytes. Both executables give me the same
   CPU
   pegging behavior (as observed by SysInternals Process Explorer).
  
   My command line is osgviewer.exe --window 100 100 200 200
   cessna.osg.
   My
   video card is an ATI FireGL V7700 and the drivers are up to date.
  
   Ah- I just noticed something-- an error message:
   Windows Error #127: [Screen #0] ChooseMatchingPixelFormat() -
   wglChoosePixelFormatARB extension not found, trying GDI. Reason: The
   specified procedure could not be found.
  
   I'm running over remote desktop right now, so perhaps that's
   related. I
   don't recall seeing this error message before.
  
   Cory
  
   On Sat, Jan 31, 2009 at 3:54 AM, Robert Osfield
   robert.osfi...@gmail.com
   wrote:
  
   Hi Cory,
  
   It's not normal to have this high level of CPU usage for this
   model,
   the expceptions to this would be:
  
  You have vysync switched off, so the app is racing as fast it
   can
   to dispatch frames
  You've compiled the OSG with debug build.
  
   Robert.
  
   On Fri, Jan 30, 2009 at 8:36 PM, Cory Riddell c...@codeware.com
   wrote:
When I run the osg viewer app and load just about any osg file
(like
cesna.osg), my CPU usage is a constant 23% - 30%. This is with no
interaction, it is basically using an entire CPU core.
Fortunatelly I
have a
4 core machine, so it hasn't been a problem so far, but I'm
wondering
what
this means for single core machines (which most of our customers
have).
   
Is this typical?
   
Cory
   
___
osg-users mailing list
osg-users@lists.openscenegraph.org
   
   
   
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
   
   
   ___
   osg-users mailing list
   osg-users@lists.openscenegraph.org
  
  
   http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
  
  
   ___
   osg-users mailing list
   osg-users@lists.openscenegraph.org
  
  
   http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
  
  
  ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
 
  http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
 
 
 
  --
  
  Adrian Egli
 
  ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
 
 

Re: [osg-users] OSG 2.7.9 - Crash in destroying ShadowedScene

2009-02-02 Thread Morné Pistorius
Hi Robert,

I tried but failed to reproduce the problem in the osg examples.  It
must be some subtle difference in the way I set up my scene in my app.
 I changed my viewer to the QOSGWidget implementation instead of using
the GraphicsWindowEmbedded in a QGLWidget and that fixed the crash.
Sorry I couldn't reproduce it, but at least there is a work around if
others run into this issue.

Cheers,
Morne

On Fri, Jan 30, 2009 at 4:59 PM, Robert Osfield
robert.osfi...@gmail.com wrote:
 Hi Morne,

 Can you get osgshadow to crash?  If others can redproduce this problem
 there the chances of fixing it promptly go up.

 Robert.

 On Fri, Jan 30, 2009 at 4:33 PM, Morné Pistorius
 mpistorius@googlemail.com wrote:
 Hi guys,

 I am testing the current trunk version of OSG in my application (was
 previously using v2.6.1) and I get a crash on shutdown when trying to
 destroy a osgShadow::ShadowedScene.  This only occurs when I have a
 shadowTechnique set and is caused by destroying the shader program.  I
 am using OSG in Qt derived from a QGLWidget  (yes I know I should
 rather use the QWidget implementation, I am busy porting to that, but
 this used to work fine in 2.6.1 so I thought I would flag it :)

 I will see if this still happens when not using the GL Adapterwidget,
 and report back.

 Below is a stack trace of the relevant bits:

   osg54-osg.dll!osg::Referenced::~Referenced()  Line 262 + 0x5 bytes
   C++
osg54-osg.dll!osg::Program::PerContextProgram::~PerContextProgram()
 Line 425 + 0x14b bytes  C++
osg54-osg.dll!osg::Program::PerContextProgram::`vector deleting
 destructor'()  + 0x3d bytes C++

 osg54-osg.dll!std::_Destroy_rangeosg::ref_ptrosg::Program::PerContextProgram,std::allocatorosg::ref_ptrosg::Program::PerContextProgram
 (osg::ref_ptrosg::Program::PerContextProgram * _First=0x02eb7b48,
 osg::ref_ptrosg::Program::PerContextProgram * _Last=0x02eb7b50,
 std::allocatorosg::ref_ptrosg::Program::PerContextProgram  
 _Al={...}, std::_Nonscalar_ptr_iterator_tag __formal={...})  Line 235
 + 0x30 bytesC++
osg54-osg.dll!osg::Program::~Program()  Line 122 + 0xa8 bytes   C++
osg54-osgShadow.dll!osg::Program::`scalar deleting destructor'()  +
 0x9 bytes   C++
osg54-osg.dll!std::_Treestd::_Tmap_traitsstd::pairenum
 osg::StateAttribute::Type,unsigned
 int,std::pairosg::ref_ptrosg::StateAttribute,unsigned
 int,std::lessstd::pairenum osg::StateAttribute::Type,unsigned int
,std::allocatorstd::pairstd::pairenum
 osg::StateAttribute::Type,unsigned int const
 ,std::pairosg::ref_ptrosg::StateAttribute,unsigned int  ,0
::_Erase(std::_Tree_nodstd::_Tmap_traitsstd::pairenum
 osg::StateAttribute::Type,unsigned
 int,std::pairosg::ref_ptrosg::StateAttribute,unsigned
 int,std::lessstd::pairenum osg::StateAttribute::Type,unsigned int
,std::allocatorstd::pairstd::pairenum
 osg::StateAttribute::Type,unsigned int const
 ,std::pairosg::ref_ptrosg::StateAttribute,unsigned int  ,0
::_Node * _Rootnode=0x02eb7bf8)  Line 1078 C++
osg54-osg.dll!osg::StateSet::clear()  Line 556 + 0x26 bytes C++
osg54-osg.dll!osg::StateSet::~StateSet()  Line 173  C++
osg54-osgShadow.dll!osg::StateSet::`scalar deleting destructor'()  +
 0x9 bytes   C++
osg54-osg.dll!osg::Referenced::unref()  Line 176 + 0xf bytesC++
osg54-osgShadow.dll!osgShadow::ShadowMap::~ShadowMap()  Line 91 +
 0xfb bytes  C++
osg54-osgShadow.dll!osgShadow::SoftShadowMap::~SoftShadowMap()  Line
 73 + 0x7e bytes C++
RiverTestApp.exe!osgShadow::SoftShadowMap::`scalar deleting
 destructor'()  + 0x10 bytes C++
osg54-osg.dll!osg::Referenced::unref()  Line 176 + 0xf bytesC++

 osg54-osgShadow.dll!osgShadow::ShadowedScene::setShadowTechnique(osgShadow::ShadowTechnique
 * technique=0x)  Line 76C++
osg54-osgShadow.dll!osgShadow::ShadowedScene::~ShadowedScene()  Line 
 50 C++
RiverTestApp.exe!VOSGShadowedScene::~VOSGShadowedScene()  + 0x10 
 bytes  C++
RiverTestApp.exe!VOSGShadowedScene::`scalar deleting destructor'()
 + 0xf bytes C++

 osg54-osg.dll!std::_Destroy_rangeosg::ref_ptrosg::Node,std::allocatorosg::ref_ptrosg::Node
 (osg::ref_ptrosg::Node * _First=0x02e74f50,
 osg::ref_ptrosg::Node * _Last=0x02e74f5c,
 std::allocatorosg::ref_ptrosg::Node   _Al={...},
 std::_Nonscalar_ptr_iterator_tag __formal={...})  Line 235 + 0x30
 bytes   C++
osg54-osg.dll!osg::Group::~Group()  Line 53 + 0x26 bytesC++
RiverTestApp.exe!VOSGScene::~VOSGScene()  Line 25 + 0x19 bytes  C++
RiverTestApp.exe!VRiver3DScene::~VRiver3DScene()  Line 103 + 0x21 
 bytes C++
RiverTestApp.exe!VRiver3DScene::`scalar deleting destructor'()  +
 0xf bytes   C++
osg54-osg.dll!osg::Referenced::unref()  Line 176 + 0xf bytesC++
RiverTestApp.exe!osg::ref_ptrVOSGScene::~ref_ptrVOSGScene()
 Line 33 + 0x1a bytesC++

 Cheers,
 Morne

Re: [osg-users] svn/trunk ready to make OpenSceneGraph-2.8 branch, please do last build test of snv/trunk :-)

2009-02-02 Thread Morné Pistorius
Hi Robert,

 In tests with my app I found some curious behaviour with the
 QOSGWidget (non-GraphicsWindowEmbedded) implementation.

 Since moving from the GLWidget approach to this, the throwing
 functionality of the TrackballManipulator disappeared.  This is also
 visible in the osgViewerQt example - spinning a model works for the
 GLAdapterWidget, but not for the QOSGWidget. (Oh, and the example
 hangs when pressing ESC.)

 Could you specify the command line you are using to reproduce these problems?


osgviewerQT --QOSGWidget cow.osg


 Also, I have problems manually adding/removing views from a composite
 viewer.  Adding/removing works fine until I remove the last view and
 try to add a view to an empty composite viewer.  The viewer just shows
 garbage from the last view visible before it was removed and wont
 update with any new views added. I will try and reproduce this in the
 composite viewer example.

 If the window doesn't have any camera's active on it then there is
 nothing to clear the window, if one enable the clear on the window
 this issue may well disappear.  As for adding views back after they've
 all been removed should work, but I haven't tested this combination
 personally.

Yup, I have the clearmask enabled for the viewer and it works fine as
long as at least one
view is still present.  But as soon as the last camera is removed, the
entire viewer stops working, even if adding new views afterwards.  I
am trying to reproduce that now in a small example, will send it in a
bit.

Cheers,
Morne
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] svn/trunk ready to make OpenSceneGraph-2.8 branch, please do last build test of snv/trunk :-)

2009-02-02 Thread Morné Pistorius
Hi Robert,

I successfully built the current trunk on Windows, VS8.  Attached are
more warnings if you are interested (about 71), they look to be mostly
benign.

In tests with my app I found some curious behaviour with the
QOSGWidget (non-GraphicsWindowEmbedded) implementation.

Since moving from the GLWidget approach to this, the throwing
functionality of the TrackballManipulator disappeared.  This is also
visible in the osgViewerQt example - spinning a model works for the
GLAdapterWidget, but not for the QOSGWidget. (Oh, and the example
hangs when pressing ESC.)

Also, I have problems manually adding/removing views from a composite
viewer.  Adding/removing works fine until I remove the last view and
try to add a view to an empty composite viewer.  The viewer just shows
garbage from the last view visible before it was removed and wont
update with any new views added. I will try and reproduce this in the
composite viewer example.

Cheers,
Morne



On Mon, Feb 2, 2009 at 3:01 PM, Robert Osfield robert.osfi...@gmail.com wrote:
 Hi All,

 I've now finished all the merges/bug/features fixes that is required
 for OpenSceneGraph-2.8 branch.  I had to do a few more changes since
 2.7.9 than I would have liked due to resolve usage problems associated
 with the osg::TransferFunction1D class.  TransferFunction1D has had to
 be refactored in API and implementation.  I've done testing here at it
 looks to be running fine (now with .osg support that was missing in
 2.7.9) but as I don't have Windows and other platforms I can't test
 the build there, so pretty please could people do an svn update and
 let me know how you get on.

 In prep for the branch I've now updated the version and so numbers so
 we now have:

  OpenThreads-2.4.0, SO version 11
  OpenSceneGraph-2.8.0, SO version 55

 I will now go across the machines I have and test out the build with a
 fresh checkout.  I'll also do testing on an OSX box that I can
 remotely log into - I'll test just the CMake/Makefile build though,
 won't be able to test the XCode projects.

 Robert.
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Warning 1   warning C4239: nonstandard extension used : 'static_cast' : 
conversion from 'volatile const long' to 'volatile const unsigned int '
c:\P\TestLibs\OSG\OpenSceneGraph-SVN\src\OpenThreads\common\Atomic.cpp  133 
Warning 2   warning C4189: 'pd' : local variable is initialized but not 
referenced  
c:\P\TestLibs\OSG\OpenSceneGraph-SVN\src\OpenThreads\win32\Win32Thread.cpp  
139 
Warning 3   warning C4512: 'TransformVisitor' : assignment operator could 
not be generated  c:\P\TestLibs\OSG\OpenSceneGraph-SVN\src\osg\Transform.cpp
  89  
Warning 4   warning C4512: 'DrawShapeVisitor' : assignment operator could 
not be generated  
c:\P\TestLibs\OSG\OpenSceneGraph-SVN\src\osg\ShapeDrawable.cpp  67  
Warning 5   warning C4512: 'ComputeBoundShapeVisitor' : assignment operator 
could not be generated  
c:\P\TestLibs\OSG\OpenSceneGraph-SVN\src\osg\ShapeDrawable.cpp  1058
Warning 6   warning C4512: 'PrimitiveShapeVisitor' : assignment operator 
could not be generated 
c:\P\TestLibs\OSG\OpenSceneGraph-SVN\src\osg\ShapeDrawable.cpp  1328
Warning 7   warning C4701: potentially uninitialized local variable 'p' 
used
c:\p\testlibs\osg\openscenegraph-svn\src\osg\matrixdecomposition.cpp506 
Warning 8   warning C4245: '=' : conversion from 'int' to 'unsigned int', 
signed/unsigned mismatch  
c:\P\TestLibs\OSG\OpenSceneGraph-SVN\src\osgAnimation\Timeline.cpp  30  
Warning 9   warning C4245: '=' : conversion from 'int' to 'unsigned int', 
signed/unsigned mismatch  
c:\P\TestLibs\OSG\OpenSceneGraph-SVN\src\osgAnimation\Timeline.cpp  45  
Warning 10  warning C4512: 'WriteValue' : assignment operator could not be 
generated
c:\P\TestLibs\OSG\OpenSceneGraph-SVN\src\osgUtil\TriStripVisitor.cpp49  
Warning 11  warning C4512: 'RemapArray' : assignment operator could not be 
generated
c:\P\TestLibs\OSG\OpenSceneGraph-SVN\src\osgUtil\TriStripVisitor.cpp166 
Warning 12  warning C4510: 'std::_List_nod_Ty,_Alloc::_Node' : default 
constructor could not be generated C:\Program Files\Microsoft Visual Studio 
8\VC\include\list  42  
Warning 13  warning C4610: struct 'std::_List_nod_Ty,_Alloc::_Node' can 
never be instantiated - user defined constructor required C:\Program 
Files\Microsoft Visual Studio 8\VC\include\list  42  
Warning 14  warning C4510: 'std::_List_nod_Ty,_Alloc::_Node' : default 
constructor could not be generated C:\Program Files\Microsoft Visual Studio 
8\VC\include\list  42  
Warning 15  warning C4610: struct 'std::_List_nod_Ty,_Alloc::_Node' can 
never be instantiated - user defined constructor required C:\Program 

[osg-users] OSG 2.7.9 - Crash in destroying ShadowedScene

2009-01-30 Thread Morné Pistorius
Hi guys,

I am testing the current trunk version of OSG in my application (was
previously using v2.6.1) and I get a crash on shutdown when trying to
destroy a osgShadow::ShadowedScene.  This only occurs when I have a
shadowTechnique set and is caused by destroying the shader program.  I
am using OSG in Qt derived from a QGLWidget  (yes I know I should
rather use the QWidget implementation, I am busy porting to that, but
this used to work fine in 2.6.1 so I thought I would flag it :)

I will see if this still happens when not using the GL Adapterwidget,
and report back.

Below is a stack trace of the relevant bits:

   osg54-osg.dll!osg::Referenced::~Referenced()  Line 262 + 0x5 bytes  
 C++
osg54-osg.dll!osg::Program::PerContextProgram::~PerContextProgram()
Line 425 + 0x14b bytes  C++
osg54-osg.dll!osg::Program::PerContextProgram::`vector deleting
destructor'()  + 0x3d bytes C++

osg54-osg.dll!std::_Destroy_rangeosg::ref_ptrosg::Program::PerContextProgram,std::allocatorosg::ref_ptrosg::Program::PerContextProgram
 (osg::ref_ptrosg::Program::PerContextProgram * _First=0x02eb7b48,
osg::ref_ptrosg::Program::PerContextProgram * _Last=0x02eb7b50,
std::allocatorosg::ref_ptrosg::Program::PerContextProgram  
_Al={...}, std::_Nonscalar_ptr_iterator_tag __formal={...})  Line 235
+ 0x30 bytesC++
osg54-osg.dll!osg::Program::~Program()  Line 122 + 0xa8 bytes   C++
osg54-osgShadow.dll!osg::Program::`scalar deleting destructor'()  +
0x9 bytes   C++
osg54-osg.dll!std::_Treestd::_Tmap_traitsstd::pairenum
osg::StateAttribute::Type,unsigned
int,std::pairosg::ref_ptrosg::StateAttribute,unsigned
int,std::lessstd::pairenum osg::StateAttribute::Type,unsigned int
,std::allocatorstd::pairstd::pairenum
osg::StateAttribute::Type,unsigned int const
,std::pairosg::ref_ptrosg::StateAttribute,unsigned int  ,0
::_Erase(std::_Tree_nodstd::_Tmap_traitsstd::pairenum
osg::StateAttribute::Type,unsigned
int,std::pairosg::ref_ptrosg::StateAttribute,unsigned
int,std::lessstd::pairenum osg::StateAttribute::Type,unsigned int
,std::allocatorstd::pairstd::pairenum
osg::StateAttribute::Type,unsigned int const
,std::pairosg::ref_ptrosg::StateAttribute,unsigned int  ,0
::_Node * _Rootnode=0x02eb7bf8)  Line 1078 C++
osg54-osg.dll!osg::StateSet::clear()  Line 556 + 0x26 bytes C++
osg54-osg.dll!osg::StateSet::~StateSet()  Line 173  C++
osg54-osgShadow.dll!osg::StateSet::`scalar deleting destructor'()  +
0x9 bytes   C++
osg54-osg.dll!osg::Referenced::unref()  Line 176 + 0xf bytesC++
osg54-osgShadow.dll!osgShadow::ShadowMap::~ShadowMap()  Line 91 +
0xfb bytes  C++
osg54-osgShadow.dll!osgShadow::SoftShadowMap::~SoftShadowMap()  Line
73 + 0x7e bytes C++
RiverTestApp.exe!osgShadow::SoftShadowMap::`scalar deleting
destructor'()  + 0x10 bytes C++
osg54-osg.dll!osg::Referenced::unref()  Line 176 + 0xf bytesC++

osg54-osgShadow.dll!osgShadow::ShadowedScene::setShadowTechnique(osgShadow::ShadowTechnique
* technique=0x)  Line 76C++
osg54-osgShadow.dll!osgShadow::ShadowedScene::~ShadowedScene()  Line 50 
C++
RiverTestApp.exe!VOSGShadowedScene::~VOSGShadowedScene()  + 0x10 bytes  
C++
RiverTestApp.exe!VOSGShadowedScene::`scalar deleting destructor'()
+ 0xf bytes C++

osg54-osg.dll!std::_Destroy_rangeosg::ref_ptrosg::Node,std::allocatorosg::ref_ptrosg::Node
 (osg::ref_ptrosg::Node * _First=0x02e74f50,
osg::ref_ptrosg::Node * _Last=0x02e74f5c,
std::allocatorosg::ref_ptrosg::Node   _Al={...},
std::_Nonscalar_ptr_iterator_tag __formal={...})  Line 235 + 0x30
bytes   C++
osg54-osg.dll!osg::Group::~Group()  Line 53 + 0x26 bytesC++
RiverTestApp.exe!VOSGScene::~VOSGScene()  Line 25 + 0x19 bytes  C++
RiverTestApp.exe!VRiver3DScene::~VRiver3DScene()  Line 103 + 0x21 bytes 
C++
RiverTestApp.exe!VRiver3DScene::`scalar deleting destructor'()  +
0xf bytes   C++
osg54-osg.dll!osg::Referenced::unref()  Line 176 + 0xf bytesC++
RiverTestApp.exe!osg::ref_ptrVOSGScene::~ref_ptrVOSGScene()
Line 33 + 0x1a bytesC++

Cheers,
Morne
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Please test svn/trunk in prep for 2.7.9 dev release

2009-01-28 Thread Morné Pistorius
And again, attached are warnings on Windows.  Down to 66 now...

Cheers,
Morne

On Wed, Jan 28, 2009 at 2:18 PM, Tony Horrobin
a.j.horro...@its.leeds.ac.uk wrote:
 Hi Robert,

 These are the warnings I get under Linux with latest SVN.

 -Tony

 OpenSceneGraph/src/OpenThreads/pthreads/PThread.c++:966: warning: comparison 
 of unsigned expression  0 is always false
 OpenSceneGraph/src/osg/KdTree.cpp:797: warning: base class 'class 
 osg::Referenced' should be explicitly initialised in the copy constructor
 OpenSceneGraph/src/osgUtil/CullVisitor.cpp:104: warning: base class 'class 
 osg::Referenced' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgAnimation/Skeleton:34: warning: base class 'class 
 osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgAnimation/Skeleton:34: warning: base class 'class 
 osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/src/osgAnimation/AnimationManagerBase.cpp:60: warning: base 
 class 'class osg::Object' should be explicitly initialised in the copy 
 constructor
 OpenSceneGraph/include/osgAnimation/Skeleton:34: warning: base class 'class 
 osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgAnimation/Skeleton:34: warning: base class 'class 
 osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/src/osgPlugins/curl/ReaderWriterCURL.h:60: warning: base class 
 'class osg::Referenced' should be explicitly initialised in the copy 
 constructor
 OpenSceneGraph/include/osgAnimation/Skeleton:34: warning: base class 'class 
 osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/src/osgViewer/CompositeViewer.cpp:30: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/src/osgViewer/View.cpp:156: warning: base class 'class 
 osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/src/osgViewer/Viewer.cpp:165: warning: base class 'class 
 osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/src/osgViewer/Viewer.cpp:165: warning: base class 'class 
 osgViewer::ViewerBase' should be explicitly initialised in the copy 
 constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in the copy constructor
 OpenSceneGraph/include/osgViewer/ViewerEventHandlers:393: warning: base class 
 'class osg::Object' should be explicitly initialised in 

Re: [osg-users] cant clear background in composite viewer

2009-01-27 Thread Morné Pistorius
Not intentionally, no.  I added

  pCamera-setClearMask( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

to the camera attached to the view just to make sure, but it didn't
change anything.  It sounds like a bug then, I will try and recreate
it in a simple example.

Cheers,
Morne


On Tue, Jan 27, 2009 at 11:36 AM, Robert Osfield
robert.osfi...@gmail.com wrote:
 Hi Morne,

 I'm rather perplexed that it didn't just work.  The clear of the
 graphics context/window should be done before everything else runs,
 the construction order should have no effect on this as it's a feature
 hard-wired into GraphicsContext. Is there a chance that you've
 disabled the clear of the colour and depth buffer for the cameras?

 Robert.

 On Tue, Jan 27, 2009 at 11:18 AM, Morné Pistorius
 mpistorius@googlemail.com wrote:
 Hi Robert,

 Thanks for the info.  I had a look at the osgcamera example and
 changed my code to call

 getGraphicsWindow()-setClearColor(osg::Vec4f(0.0f,1.0f,0.0f,1.0f));
 getGraphicsWindow()-setClearMask( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)

 in the constructor of my derived osgViewer::CompositeViewer.  This
 clears the viewer to green, but now none of my views show up inside
 the composite viewer, the whole viewer is just green.  When I add a
 view, it is created like this:

  osgViewer::View * pView = new osgViewer::View;
  osg::Camera * pCamera = pView-getCamera();

  pCamera-setGraphicsContext( getGraphicsWindow() );
  pCamera-setClearColor( osg::Vec4( 0.05, 0.05, 0.2, 1.0 ) ) ;

  addView( pView );

  ...compute viewport dimentions, etc...

  pCamera-setViewport( new osg::Viewport( Left, Bottom ,
 BestWindowWidth, BestWindowHeight ) );
  pCamera-setProjectionMatrixAsPerspective( 30.0f, double(
 BestWindowWidth ) / double( BestWindowHeight ), 1.0f, 1.0f );

 It is as if the call to clear the viewer comes after the call to
 render the views and I just see the cleared result.  Removing the
 setClearColor/setClearMask in the constructor shows my views again.

 Is it necessary to create a new GraphicsContexts for the cameras as in
 the osgcameras example? I tried that, without success, so I guess I
 must be missing something else. Attached is what I see.

 Thanks again for the help!

 Regards,
 Morne


 On Mon, Jan 26, 2009 at 4:30 PM, Robert Osfield
 robert.osfi...@gmail.com wrote:
 Hi Morne,

 This isn't a bug, rather a limitation of using camera's to clear the
 background colour of the graphics context.  If your camera's don't
 cover the whole window then you have tell the GraphicsContext to do a
 clear - something it doesn't do by default for efficiency reasons - as
 the vast majority of apps have camera's covering the whole graphics
 context.

 The osgcamera example has an example of enabling the clear of the
 GraphicsContext.  It's simply a case of doing  a
 window-setClearMask(..) and window-setClearColor(..);

 Robert.

 On Mon, Jan 26, 2009 at 4:20 PM, Morné Pistorius
 mpistorius@googlemail.com wrote:
 Hi guys,

 I am having trouble clearing the background on a composite viewer.  I
 have a composite viewer derived from QGLWidget to which I add and
 remove views dynamically. The viewports are automatically tiled into a
 number of rows and columns inside the viewer window to make the best
 use of the available space, with a small gap between each view.

 My problem is that I can't clear the background of the composite
 viewer when I add/remove views.  For example, if I had 4 views tiled
 in a 2x2 matrix, and remove one view, I my tiler keeps two views in
 the top row and 1 in the bottom row with an empty square where the
 fourth view was.  Although the fourth view was removed, I still see
 some data drawn from the last frame that the removed viewer displayed.
  Also, the gaps between the views shows garbage.  I attached two
 screenshots showing the problem.

 Is there something that I could call on the composite viewer to clear
 the entire window?  It could also be a Qt problem, since the composite
 viewer is derived from QGLWidget.  If I resize the window after
 removing the fourth view, then the background is cleared. I tried
 calling repaint()/paintGL() on the QtWidget, but that didn't help.

 I would appreciate pointers from people who have successfully used
 composite viewers with Qt before.

 Thanks a lot!

 Morne

 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http

Re: [osg-users] cant clear background in composite viewer

2009-01-27 Thread Morné Pistorius
Hello again Robert,

I modified the osgcompositeviewer example and setClearMask() works as
expected when creating a new graphics context with proper traits, etc.

I suspect my problem comes from using the graphics context created by
osgViewer::GraphicsWindowEmbedded (this is the graphics context I pass
to my cameras) in our Qt app.  It will take a bit of time to test my
theory, because I didn't build OSG with Qt support and need a proper
Qt install.  I will do this now and see if I can reproduce the error
in osgviewerQt.  I just thought I would mention it, maybe this hint
could shed some light on the problem.

Cheers,
Morne




On Tue, Jan 27, 2009 at 11:43 AM, Morné Pistorius
mpistorius@googlemail.com wrote:
 Not intentionally, no.  I added

  pCamera-setClearMask( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

 to the camera attached to the view just to make sure, but it didn't
 change anything.  It sounds like a bug then, I will try and recreate
 it in a simple example.

 Cheers,
 Morne


 On Tue, Jan 27, 2009 at 11:36 AM, Robert Osfield
 robert.osfi...@gmail.com wrote:
 Hi Morne,

 I'm rather perplexed that it didn't just work.  The clear of the
 graphics context/window should be done before everything else runs,
 the construction order should have no effect on this as it's a feature
 hard-wired into GraphicsContext. Is there a chance that you've
 disabled the clear of the colour and depth buffer for the cameras?

 Robert.

 On Tue, Jan 27, 2009 at 11:18 AM, Morné Pistorius
 mpistorius@googlemail.com wrote:
 Hi Robert,

 Thanks for the info.  I had a look at the osgcamera example and
 changed my code to call

 getGraphicsWindow()-setClearColor(osg::Vec4f(0.0f,1.0f,0.0f,1.0f));
 getGraphicsWindow()-setClearMask( GL_COLOR_BUFFER_BIT | 
 GL_DEPTH_BUFFER_BIT)

 in the constructor of my derived osgViewer::CompositeViewer.  This
 clears the viewer to green, but now none of my views show up inside
 the composite viewer, the whole viewer is just green.  When I add a
 view, it is created like this:

  osgViewer::View * pView = new osgViewer::View;
  osg::Camera * pCamera = pView-getCamera();

  pCamera-setGraphicsContext( getGraphicsWindow() );
  pCamera-setClearColor( osg::Vec4( 0.05, 0.05, 0.2, 1.0 ) ) ;

  addView( pView );

  ...compute viewport dimentions, etc...

  pCamera-setViewport( new osg::Viewport( Left, Bottom ,
 BestWindowWidth, BestWindowHeight ) );
  pCamera-setProjectionMatrixAsPerspective( 30.0f, double(
 BestWindowWidth ) / double( BestWindowHeight ), 1.0f, 1.0f );

 It is as if the call to clear the viewer comes after the call to
 render the views and I just see the cleared result.  Removing the
 setClearColor/setClearMask in the constructor shows my views again.

 Is it necessary to create a new GraphicsContexts for the cameras as in
 the osgcameras example? I tried that, without success, so I guess I
 must be missing something else. Attached is what I see.

 Thanks again for the help!

 Regards,
 Morne


 On Mon, Jan 26, 2009 at 4:30 PM, Robert Osfield
 robert.osfi...@gmail.com wrote:
 Hi Morne,

 This isn't a bug, rather a limitation of using camera's to clear the
 background colour of the graphics context.  If your camera's don't
 cover the whole window then you have tell the GraphicsContext to do a
 clear - something it doesn't do by default for efficiency reasons - as
 the vast majority of apps have camera's covering the whole graphics
 context.

 The osgcamera example has an example of enabling the clear of the
 GraphicsContext.  It's simply a case of doing  a
 window-setClearMask(..) and window-setClearColor(..);

 Robert.

 On Mon, Jan 26, 2009 at 4:20 PM, Morné Pistorius
 mpistorius@googlemail.com wrote:
 Hi guys,

 I am having trouble clearing the background on a composite viewer.  I
 have a composite viewer derived from QGLWidget to which I add and
 remove views dynamically. The viewports are automatically tiled into a
 number of rows and columns inside the viewer window to make the best
 use of the available space, with a small gap between each view.

 My problem is that I can't clear the background of the composite
 viewer when I add/remove views.  For example, if I had 4 views tiled
 in a 2x2 matrix, and remove one view, I my tiler keeps two views in
 the top row and 1 in the bottom row with an empty square where the
 fourth view was.  Although the fourth view was removed, I still see
 some data drawn from the last frame that the removed viewer displayed.
  Also, the gaps between the views shows garbage.  I attached two
 screenshots showing the problem.

 Is there something that I could call on the composite viewer to clear
 the entire window?  It could also be a Qt problem, since the composite
 viewer is derived from QGLWidget.  If I resize the window after
 removing the fourth view, then the background is cleared. I tried
 calling repaint()/paintGL() on the QtWidget, but that didn't help.

 I would appreciate pointers from people who have successfully used

Re: [osg-users] cant clear background in composite viewer

2009-01-27 Thread Morné Pistorius
Hi Robert,

As I expected, the problem lies with using a GraphicsWindowEmbedded.
I was able to reproduce the bug in oagviewerQt by adding


viewerWindow-getGraphicsWindow()-setClearColor(osg::Vec4f(0.0f,1.0f,0.0f,1.0f));
viewerWindow-getGraphicsWindow()-setClearMask(
GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

to the composite viewer. Attached is the example recreating the bug.

Cheers,
Morne

On Tue, Jan 27, 2009 at 12:44 PM, Morné Pistorius
mpistorius@googlemail.com wrote:
 Hello again Robert,

 I modified the osgcompositeviewer example and setClearMask() works as
 expected when creating a new graphics context with proper traits, etc.

 I suspect my problem comes from using the graphics context created by
 osgViewer::GraphicsWindowEmbedded (this is the graphics context I pass
 to my cameras) in our Qt app.  It will take a bit of time to test my
 theory, because I didn't build OSG with Qt support and need a proper
 Qt install.  I will do this now and see if I can reproduce the error
 in osgviewerQt.  I just thought I would mention it, maybe this hint
 could shed some light on the problem.

 Cheers,
 Morne




 On Tue, Jan 27, 2009 at 11:43 AM, Morné Pistorius
 mpistorius@googlemail.com wrote:
 Not intentionally, no.  I added

  pCamera-setClearMask( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

 to the camera attached to the view just to make sure, but it didn't
 change anything.  It sounds like a bug then, I will try and recreate
 it in a simple example.

 Cheers,
 Morne


 On Tue, Jan 27, 2009 at 11:36 AM, Robert Osfield
 robert.osfi...@gmail.com wrote:
 Hi Morne,

 I'm rather perplexed that it didn't just work.  The clear of the
 graphics context/window should be done before everything else runs,
 the construction order should have no effect on this as it's a feature
 hard-wired into GraphicsContext. Is there a chance that you've
 disabled the clear of the colour and depth buffer for the cameras?

 Robert.

 On Tue, Jan 27, 2009 at 11:18 AM, Morné Pistorius
 mpistorius@googlemail.com wrote:
 Hi Robert,

 Thanks for the info.  I had a look at the osgcamera example and
 changed my code to call

 getGraphicsWindow()-setClearColor(osg::Vec4f(0.0f,1.0f,0.0f,1.0f));
 getGraphicsWindow()-setClearMask( GL_COLOR_BUFFER_BIT | 
 GL_DEPTH_BUFFER_BIT)

 in the constructor of my derived osgViewer::CompositeViewer.  This
 clears the viewer to green, but now none of my views show up inside
 the composite viewer, the whole viewer is just green.  When I add a
 view, it is created like this:

  osgViewer::View * pView = new osgViewer::View;
  osg::Camera * pCamera = pView-getCamera();

  pCamera-setGraphicsContext( getGraphicsWindow() );
  pCamera-setClearColor( osg::Vec4( 0.05, 0.05, 0.2, 1.0 ) ) ;

  addView( pView );

  ...compute viewport dimentions, etc...

  pCamera-setViewport( new osg::Viewport( Left, Bottom ,
 BestWindowWidth, BestWindowHeight ) );
  pCamera-setProjectionMatrixAsPerspective( 30.0f, double(
 BestWindowWidth ) / double( BestWindowHeight ), 1.0f, 1.0f );

 It is as if the call to clear the viewer comes after the call to
 render the views and I just see the cleared result.  Removing the
 setClearColor/setClearMask in the constructor shows my views again.

 Is it necessary to create a new GraphicsContexts for the cameras as in
 the osgcameras example? I tried that, without success, so I guess I
 must be missing something else. Attached is what I see.

 Thanks again for the help!

 Regards,
 Morne


 On Mon, Jan 26, 2009 at 4:30 PM, Robert Osfield
 robert.osfi...@gmail.com wrote:
 Hi Morne,

 This isn't a bug, rather a limitation of using camera's to clear the
 background colour of the graphics context.  If your camera's don't
 cover the whole window then you have tell the GraphicsContext to do a
 clear - something it doesn't do by default for efficiency reasons - as
 the vast majority of apps have camera's covering the whole graphics
 context.

 The osgcamera example has an example of enabling the clear of the
 GraphicsContext.  It's simply a case of doing  a
 window-setClearMask(..) and window-setClearColor(..);

 Robert.

 On Mon, Jan 26, 2009 at 4:20 PM, Morné Pistorius
 mpistorius@googlemail.com wrote:
 Hi guys,

 I am having trouble clearing the background on a composite viewer.  I
 have a composite viewer derived from QGLWidget to which I add and
 remove views dynamically. The viewports are automatically tiled into a
 number of rows and columns inside the viewer window to make the best
 use of the available space, with a small gap between each view.

 My problem is that I can't clear the background of the composite
 viewer when I add/remove views.  For example, if I had 4 views tiled
 in a 2x2 matrix, and remove one view, I my tiler keeps two views in
 the top row and 1 in the bottom row with an empty square where the
 fourth view was.  Although the fourth view was removed, I still see
 some data drawn from the last frame that the removed viewer displayed

[osg-users] Modifying scene graph in event handler is safe, right?

2009-01-21 Thread Morné Pistorius
Hi all,

I used to work under the rule of thumb to only ever modify my scene
using update callbacks, but scanning the lists I found reference
saying that modification anywhere outside the viewer.RenderTraversal()
is safe.  I just want to verify this: directly modifying my scene
graph in an eventhandler should be safe, right? And this should still
be safe if my scene is shared between multiple views (as in a
composite viewer), but not if my scene is shared between more than one
viewer window (assuming my viewers are created with a QGLWidget,
instead of a QWidget in which case it will be safe again).  I call
viewer.frame() on a QTimer evnet as in the OSG QtViewer examples.

Have I got that right?

Thanks!

Morne
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Exportable file formats

2009-01-09 Thread Morné Pistorius
Thanks all for the info, much appreciated!

Regards,
Morne

On Fri, Jan 9, 2009 at 2:18 AM, Paul Martz pma...@skew-matrix.com wrote:
 A while back, I posted a submission that tried to programmatically determine
 which formats were supported, did they support read or write, and did they
 support the read/writeNode, read/writeImage, read/writeObject, or
 read/writeHeightfield interface.

 To query for reading, the code created an empty file in a temp directory
 with the appropriate extension, then tried to read that file with OSG. It
 depended on the plugin returning the correct error code: FILE_LOADED or
 ERROR_READING_FILE (because it was, after all, an empty file) meant it was
 supported, anything else indicated a lack of support. And it tried to do
 something similar with writing.

 Unfortunately, this algorithm didn't work because many plugins contain bugs
 than cause them to return the incorrect error code. This caused my algorithm
 to return incorrect results a large percentage of the time. As a result, the
 submission was rejected.

 Ultimately, though, Robert did see value in having a way to determine some
 level of file support, and he coded up the osgconv --formats support.
 While this lists supported formats, unfortunately it provides no information
 about whether read or write is supported, or which interface is supported.
 On the plus side, the current implementation has a mechanism to display
 information about supported plugin Options; on the minus side, the output is
 somewhat incomplete, and we're still waiting for members of the community to
 flesh this out.

 In summary, the best mechanism available today to determine supported
 formats is to look at the code.

 Paul Martz
 Skew Matrix Software LLC
 http://www.skew-matrix.com
 +1 303 859 9466

 -Original Message-
 From: osg-users-boun...@lists.openscenegraph.org
 [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Morné
 Pistorius
 Sent: Thursday, January 08, 2009 3:11 AM
 To: OpenSceneGraph Users
 Subject: [osg-users] Exportable file formats

 Hi guys,

 I am trying to figure out which of the osg plugins support
 writing/exporting.  Is there a list of supported formats or a way to query
 osg to find out which plugins support exporting?  I will be happy if I can
 just get a handful - from comments read on the list, I think these are all
 supported:

 osg
 ive
 obj
 flt
 collada (dae)

 Thanks,
 Morne
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] Exportable file formats

2009-01-08 Thread Morné Pistorius
Hi guys,

I am trying to figure out which of the osg plugins support
writing/exporting.  Is there a list of supported formats or a way to
query osg to find out which plugins support exporting?  I will be
happy if I can just get a handful - from comments read on the list, I
think these are all supported:

osg
ive
obj
flt
collada (dae)

Thanks,
Morne
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] Problem applying MatrixTransform to PositionAttitudeTransform

2008-12-05 Thread Morné Pistorius
Hi all,

I am hitting my head against a brick wall with this one.  I am trying
to use osgManipulators to edit nodes in my scene.  I attach a node to
a manipulator, rotate it, and then detach the node from the
manipulator and apply the manipulator's MatrixTransform to the node's
PositionAttitudeTransform (all nodes that I manipulate have a PAT as
root) so that the PAT affects its children in the same way that the
osgManipulator affected its children.  Here is the code snippet:


NodeUpdateCallback that updates node with osgManipulator's MatrixTransform:

  virtual void operator() ( osg::Node* node, osg::NodeVisitor* nv )
  {
osgManipulator::Selection * pSelection = dynamic_cast
osgManipulator::Selection *  ( node );
if ( pSelection  m_Manip-m_PrevMatrix !=
m_Manip-m_Dragger-getMatrix() )
{
  // Apply the transform
  for ( int i = 0; i  m_Manip-m_SelectionCache-getNumChildren(); ++i )
  {
osg::PositionAttitudeTransform * pElem = dynamic_cast
osg::PositionAttitudeTransform *  ( pSelection -getChild(i) );
VOSGSceneElement * pElemCache = dynamic_cast VOSGSceneElement
*  ( m_Manip-m_SelectionCache-getChild(i) );

osg::Matrix ManipMatrix = pSelection-getMatrix();

ManipMatrix.preMult(osg::Matrix::translate( -pElem-getPivotPoint() )*
osg::Matrix::scale( pElem-getScale() )*
osg::Matrix::rotate( pElem-getAttitude() )*
osg::Matrix::translate( pElem-getPosition() ) );


 pElemCache-setPosition( ManipMatrix.getTrans() );
 pElemCache-setAttitude( ManipMatrix.getRotate() );
 pElemCache-setScale( ManipMatrix.getScale() );
  }

  m_Manip-m_PrevMatrix = m_Manip-m_Dragger-getMatrix();
}
}

In this example a VOSGSceneElement is the node that I'm trying to
manipulate and is derived from PositionAttitudeTransform.  pSelection
contains a copy of this.  The copy in pSelection is transformed
correctly by the manipulator.  In this update callback, I'm trying to
apply the same transform from pSelection to the VOSGSceneElement in
the scene graph.

Unfortunately this doesn't work properly, and I'm having difficulty
figuring out how to apply the correct transformation.  I would be very
grateful if anybody can point me in the right direction..How do I
apply a MatrixTransform to a PositionAttitudeTransform?

As always, thank you!
Morne
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Problem applying MatrixTransform to PositionAttitudeTransform

2008-12-05 Thread Morné Pistorius
Replying to myself, but I found the solution if anybody else might run
into this.  Calling getRotate() on the matrix can give unexpected
results if there was also a scale transform involved.  The correct way
is to call Matrix.decompose(..) to get to the contributing parts:

ManipMatrix.preMult(osg::Matrix::translate( -pElem-getPivotPoint() )*
osg::Matrix::scale( pElem-getScale() )*
osg::Matrix::rotate( pElem-getAttitude() )*
osg::Matrix::translate( pElem-getPosition() ) );

osg::Vec3 s,t;
osg::Quat r,so;
ManipMatrix.decompose( t, r, s, so );

pElemCache-setPosition( t );
pElemCache-setAttitude( r );
pElemCache-setScale( s );

Cheers,
Morne


On Fri, Dec 5, 2008 at 1:08 PM, Morné Pistorius
[EMAIL PROTECTED] wrote:
 Hi all,

 I am hitting my head against a brick wall with this one.  I am trying
 to use osgManipulators to edit nodes in my scene.  I attach a node to
 a manipulator, rotate it, and then detach the node from the
 manipulator and apply the manipulator's MatrixTransform to the node's
 PositionAttitudeTransform (all nodes that I manipulate have a PAT as
 root) so that the PAT affects its children in the same way that the
 osgManipulator affected its children.  Here is the code snippet:


 NodeUpdateCallback that updates node with osgManipulator's MatrixTransform:

  virtual void operator() ( osg::Node* node, osg::NodeVisitor* nv )
  {
osgManipulator::Selection * pSelection = dynamic_cast
 osgManipulator::Selection *  ( node );
if ( pSelection  m_Manip-m_PrevMatrix !=
 m_Manip-m_Dragger-getMatrix() )
{
  // Apply the transform
  for ( int i = 0; i  m_Manip-m_SelectionCache-getNumChildren(); ++i )
  {
osg::PositionAttitudeTransform * pElem = dynamic_cast
 osg::PositionAttitudeTransform *  ( pSelection -getChild(i) );
VOSGSceneElement * pElemCache = dynamic_cast VOSGSceneElement
 *  ( m_Manip-m_SelectionCache-getChild(i) );

osg::Matrix ManipMatrix = pSelection-getMatrix();

ManipMatrix.preMult(osg::Matrix::translate( -pElem-getPivotPoint() )*
osg::Matrix::scale( pElem-getScale() )*
osg::Matrix::rotate( pElem-getAttitude() )*
osg::Matrix::translate( pElem-getPosition() ) );


 pElemCache-setPosition( ManipMatrix.getTrans() );
 pElemCache-setAttitude( ManipMatrix.getRotate() );
 pElemCache-setScale( ManipMatrix.getScale() );
  }

  m_Manip-m_PrevMatrix = m_Manip-m_Dragger-getMatrix();
}
 }

 In this example a VOSGSceneElement is the node that I'm trying to
 manipulate and is derived from PositionAttitudeTransform.  pSelection
 contains a copy of this.  The copy in pSelection is transformed
 correctly by the manipulator.  In this update callback, I'm trying to
 apply the same transform from pSelection to the VOSGSceneElement in
 the scene graph.

 Unfortunately this doesn't work properly, and I'm having difficulty
 figuring out how to apply the correct transformation.  I would be very
 grateful if anybody can point me in the right direction..How do I
 apply a MatrixTransform to a PositionAttitudeTransform?

 As always, thank you!
 Morne

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Problem applying MatrixTransform to PositionAttitudeTransform

2008-12-05 Thread Morné Pistorius
Hi J-S,

Yup, the documentation certainly helped.  In this case I blame
automatic code completion and bad assumptions.  I thought there would
be something in osg::Matrix that would return the individual composing
parts and autocomplete suggested getRotate() when I typed in 'get'.  I
just assumed that is the right thing to use, without actually going to
check the documentation. My bad :)

Cheers,
Morné





On Fri, Dec 5, 2008 at 2:44 PM, Jean-Sébastien Guay
[EMAIL PROTECTED] wrote:
 Hello Morné,

 Calling getRotate() on the matrix can give unexpected
 results if there was also a scale transform involved.  The correct way
 is to call Matrix.decompose(..) to get to the contributing parts:

 I was going to point that out, and it's even in the osg::Matrix header doc
 comments for getRotate() I think...

 Just looked it up, and yes:

 _

 Quat osg::Matrixd::getRotate() const

 Get the matrix rotation as a Quat.

 Note that this function assumes a non-scaled matrix and will return
 incorrect results for scaled matrixces. Consider decompose() instead.
 _


 Good to see you found it yourself. It means the doxygen comments really do
 work! We should add more of them (darn don't tell me I started the
 documentation discussion again...) :-)

 J-S
 --
 __
 Jean-Sebastien Guay[EMAIL PROTECTED]
   http://www.cm-labs.com/
http://whitestar02.webhop.org/
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Outline technique that doesn't triple (or worse) my frame time?

2008-11-28 Thread Morné Pistorius
Hi J-S,

Just as another datapoint, I also implemented outlining in a similar
way to osgFX::Effect.  All times stay the
same except draw which triples.  In my application, this doesn't
affect me too much and I still make 60 fps if an object is selected or
not, so I don't mind the jump that much, but I can see it being a
problem if you have a very flexible scene/selection strategy...

Cheers,
Morne


On Wed, Nov 26, 2008 at 2:40 PM, Jean-Sébastien Guay
[EMAIL PROTECTED] wrote:
 Hi Robert,

 I presume that you won't be selecting too many objects in the scene,
 so it's not like you'll be doubling the cost of the whole scene, and
 if there is only one object in the scene that you select you are
 unlikely to be breaking frame...

 Well, that assumption is one I can't make... Since this is an application
 similar to a modeling application, the user could load anything up. And yes,
 we support multi-select, so the user could conceivably select the whole
 scene.

 Now, of course if the user loads objects which bring their system to a
 crawl, I can't do anything to prevent that. However, if they load up objects
 and the app just barely make frame, and then selects one of them and it
 suddenly breaks frame, it makes our app look bad. It's a contrived example,
 but it could really happen. And that's supposing they only select that one
 object - they could select them all, and then the total frame time might
 triple (I haven't tested this, but my results with multiple objects seem to
 indicate that would be the result).

 Anyways, the more general question: why is the frame time so affected by
 such a simple effect? As I said, it's a two-pass effect, I would expect the
 time for the selected object(s) to double, but not more... And I disable
 lighting, blending, texturing for the second pass, so I would think that
 pass would be quicker than the first.

 Thanks,

 J-S
 --
 __
 Jean-Sebastien Guay[EMAIL PROTECTED]
   http://www.cm-labs.com/
http://whitestar02.webhop.org/
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] Understanding node/traversal masks

2008-11-27 Thread Morné Pistorius
Hi guys,

I have a scene setup problem that I am sure is easy to solve with OSG
if someone could help me properly understand the use of node masks.
Consider this scene:

   Root
/\
   /  \
   __/ \__
  /\
DecorateGroupRenderGroup
   \   |
\ /\
 \  ___/  \
  \/\
   \___ PAT Subgraph with more objects
 /\
/  \
   GeodeA GeodeB



I have a group of objects that I want to render, all children of the
RenderGroup.  Some of these objects I want to decorate by drawing the
same geometry with a different stateset that enables cartoon outlines
when I pick it.  Now I want to add a subgraph to this decoration, but
I only want to allow some of the nodes within the subgraph to be
affected by the stateset in DecorateGroup.  For example, if I attach
PositionAttitudeTransform PAT to DecorateGroup, I only want GeodeA to
be decorated.

I think one way would be to protect attributes that are overridden by
the stateset in DecorateGroup, but I don't want to have to do that for
all objects that might be picked. I expect this can be done with node
masks, but I am not sure how to set up a node mask so that GeodeB is
drawn only once when RenderGroup is traversed and not drawn when
DecorateGroup is traversed.

I would be really grateful if someone could explain this to me.

Thanks!
Morne Pistorius
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] bump mapping using GLSL shaders

2008-11-26 Thread Morné Pistorius
://3dshaders.com/

 Hope it helps.

 -- A.

 On Mon, Nov 24, 2008 at 10:39 AM, Morné Pistorius
 [EMAIL PROTECTED] wrote:
  Hi all,
  I added bump mapping to a model using osgFX::BumpMapping, but I need
  something more flexible.  My model has two sided lighting and osgFX
 doesn't
  support that.  Do we have GLSL shaders for bumpmapping in OSG?  I think
 that
  would be easier to modify to suit my needs than the assembler coded
 shaders
  used in osgFX.  If anyone has an example of applying normal mapping with
  shaders in OSG, I would greatly appreciate it.
  Thank you kindly,
  Morne
  ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
 
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
 
 
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org



bumpmap.frag
Description: Binary data


bumpmap.vert
Description: Binary data
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] bump mapping using GLSL shaders

2008-11-24 Thread Morné Pistorius
Hi all,
I added bump mapping to a model using osgFX::BumpMapping, but I need
something more flexible.  My model has two sided lighting and osgFX doesn't
support that.  Do we have GLSL shaders for bumpmapping in OSG?  I think that
would be easier to modify to suit my needs than the assembler coded shaders
used in osgFX.  If anyone has an example of applying normal mapping with
shaders in OSG, I would greatly appreciate it.

Thank you kindly,
Morne
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] Wrong vertex count when loading OBJ files.

2008-09-25 Thread Morné Pistorius
Hi guys,
I see a strange problem when I load OBJ files.  I use osg::readfilenode() to
load an .obj with a known number of vertices, and then inspect the resulting
node to see how many vertices was loaded, like so:

//debug
osg::Node* node = osgDB::readNodeFile(
C:/Data/Meshes/Hand3DIS/Hand3.obj );
osg::Geode* g = dynamic_cast osg::Geode* (
node-asGroup()-getChild(0) );
osg::Geometry * gm = g-getDrawable(0)-asGeometry();
osg::Vec3Array * v = (osg::Vec3Array*) gm-getVertexArray();
std::cout  verts:   v-size()  std::endl;

I know my model has 7570 vertices (I inspected the contents of the file, and
this is also reported by other obj loaders I tried).  but when osg loads
this file, it reports 'verts: 8369' in the code above.  I need a one to one
mapping between osg's vertices and the ones specified in the obj file.  Does
osg somehow try to automatically optimise the geometry when it is loaded,
i.e create triangle strips, etc.

Funny thing though, when I subsequently save the node to .obj using osg, it
saves it with the correct no of vertices.

Any ideas?

Thanks,
Morne
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] Bug? Unable to pick osgSim::SphereSegment

2008-09-10 Thread Morné Pistorius
Hi all,

I seem to be unable to pick a osgSim::SphereSegment using a
LineSegmentIntersector.  I have many other models in my scene as well that
all work fine with the picker, including loaded models and manually
assembled geometries.  It is just the SphereSegment that doesn't respond.
 When I click on it, picker-containsIntersections() always returns false:

  osgUtil::LineSegmentIntersector* picker;
  picker = new osgUtil::LineSegmentIntersector(
osgUtil::Intersector::PROJECTION, ea.getXnormalized(),ea.getYnormalized() );

  osgUtil::IntersectionVisitor iv( picker );
  viewer-getCamera()-accept( iv );

  if ( picker-containsIntersections() )   -- ALWAYS FALSE
  {
osgUtil::LineSegmentIntersector::Intersection intersection =
picker-getFirstIntersection();

osg::NodePath nodePath = intersection.nodePath;
node = ( nodePath.size() = 1 )? nodePath[ nodePath.size() - 1 ] : NULL;
  }


I will investigate this further, but I was hoping someone might have some
insights as to where to look for what goes wrong.  Is this a bug or is it
something specific to SphereSegments?  (I am using OSG v2.2)

Thanks!
Morne
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] shader or effect to show selected model

2008-08-13 Thread Morné Pistorius
Hi guys,

Thanks for the tips.  In case anybody else reading this thread might
find it useful, I found a nice subtle way of highlighting a selected
model (see attached screen shot).  Using the stateset decorating
method from the scribe example and outlining code from the cartoon
effect in osgfx, I draw thick line around the silhouette of the
selected model.  This nicely conveys the message that the model is
selected without obscuring the geometry too much.

Thanks again,
Morne

On Tue, Aug 12, 2008 at 1:52 PM, Fuesz, Matthew [EMAIL PROTECTED] wrote:
 Color overlays are fairly simple. A one-line fragment shader:

 gl_FragColor = gl_Color * color_uniform;

 Where color_uniform is a vec4 uniform specifying RGBA color.

 This is the simplest of cases, of course. If you have other lighting or 
 texturing going on, you would also need to account for that.


 Matthew W. Fuesz
 Software Engineer Asc.
 Lockheed Martin STS
 1210 Massillon Road
 Akron, OH 44315
 [EMAIL PROTECTED]

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Morné Pistorius
 Sent: Tuesday, August 12, 2008 8:47 AM
 To: OpenSceneGraph Users
 Subject: Re: [osg-users] shader or effect to show selected model

 I did have a look at osgScribe before posting, but overlaying the
 wireframe is a bit heavy for models with very high polygon counts.  I
 was looking for something a bit more subtle.

 Cheers,
 Morne

 On Tue, Aug 12, 2008 at 12:13 PM, Paul Melis [EMAIL PROTECTED] wrote:
 Morné Pistorius wrote:

 Hi everybody,

 I am looking for a bit of inspiration.  I want to apply some sort of
 effect to a picked model in my scene to show that it has been
 selected.  Does anyone have some ideas (or an example shader or code
 snippet would be excellent!)  that they are willing to throw my way?
 Ideally I would like to have something that uses the geometry of the
 model itself, instead of creating new geometry.


 See the osgscribe example for a possible way...

 Paul

 Thanks!

 Regards,
 Morne
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org



 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

attachment: Selection.jpg___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] shader or effect to show selected model

2008-08-12 Thread Morné Pistorius
I did have a look at osgScribe before posting, but overlaying the
wireframe is a bit heavy for models with very high polygon counts.  I
was looking for something a bit more subtle.

Cheers,
Morne

On Tue, Aug 12, 2008 at 12:13 PM, Paul Melis [EMAIL PROTECTED] wrote:
 Morné Pistorius wrote:

 Hi everybody,

 I am looking for a bit of inspiration.  I want to apply some sort of
 effect to a picked model in my scene to show that it has been
 selected.  Does anyone have some ideas (or an example shader or code
 snippet would be excellent!)  that they are willing to throw my way?
 Ideally I would like to have something that uses the geometry of the
 model itself, instead of creating new geometry.


 See the osgscribe example for a possible way...

 Paul

 Thanks!

 Regards,
 Morne
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org



 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] osgPPU-0.1 developer release

2008-03-27 Thread Morné Pistorius
Hi Art,

Could you provide a downloadable zip file or something?  When I try to
check out the SVN version, I get this error:

Error: Can't connect to host 'projects.tevs.eu': No connection could
be made because the target machine actively refused it.

Cheers,
Morne


On Thu, Mar 27, 2008 at 1:56 PM, Art Tevs [EMAIL PROTECTED] wrote:
 Hi folks,

  I finally found some time and now there is a first
  developer release of osgPPU Nodekit (ok not directly
  a node kit, because not derived from a node, but this
  will follow ;-).
  Here is the homepage of the project:
  http://projects.tevs.eu/osgppu/wiki

  There are couple of example applications showing it in
  action. I will be very appreciated if somebody of you
  would contribute to this project with new
  ideas/critics/bug-huntings/features/...


  Best regards,
  Art






   Lesen Sie Ihre E-Mails jetzt einfach von unterwegs.
  www.yahoo.de/go
  ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
  http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] osgshadowd.exe = black

2008-02-07 Thread Morné Pistorius
Just a thought - Is your OSG_FILE_PATH set up properly?  When I run it
(on stable 2.2 release) the entire scene is black if osg can't find
the texture images.  If OSG_FILE_PATH is set to my data directory,
shadows work fine.  From your screen shots it looks like the textures
aren't loaded.

cheers,
Morne

On Feb 7, 2008 12:16 PM, Anders Backman [EMAIL PROTECTED] wrote:
 Not black, but full of artefacts on VISTA, XP, Ubuntu (gcc)

 Screenshots found at:

 http://www.vrlab.umu.se/osg

 pssm.png --pssm
 sv.png --sv
 sm.png --sm

 All shadow implementations in the trunk (including --ssm) shows a very bad
 result in svn for XP,VISTA, very recent drivers, GeForce8600Go, GeForce
 6800Go, and finally 8800GTX under Ubuntu.

 shadowmaps worked in the svn version from November that we used previously.

 /Anders




 On Feb 7, 2008 11:37 AM, Adrian Egli OpenSceneGraph (3D) [EMAIL PROTECTED]
 wrote:

  What about PSSM ?
 
 
  2008/2/7, Anders Backman [EMAIL PROTECTED]:
  
  
  
   Just verified this under Ubuntu with osg svn version. Same problem,
 everything is black when using shadowmaps.
  
   /Anders
  
  
  
   On Feb 7, 2008 11:21 AM, Anders Backman [EMAIL PROTECTED] wrote:
  
Hi all.
   
I just did a svn checkout of osg and build it with VS2008 in windows
 Vista (and xp).
   
On both of my machines (one vista 64bit but built in 32bit, and one xp
 32bit) the shadowed scene in osgshadowd.exe is completely black.
   
osgshadowd --sv works but none of the --ssm or --sm
   
ANyone seen this?
   
   
   
--
   
   

Anders Backman   Email:[EMAIL PROTECTED]
HPC2N/VRlab  Phone:+46 (0)90-786 9936
Umea university  Cellular: +46 (0)70-392 64 67
S-901 87 UMEA SWEDEN Fax:  +46 90-786 6126
  http://www.cs.umu.se/~andersb
  
  
  
   --
  
  
   
   Anders Backman   Email:[EMAIL PROTECTED]
   HPC2N/VRlab  Phone:+46 (0)90-786 9936
   Umea university  Cellular: +46 (0)70-392 64 67
   S-901 87 UMEA SWEDEN Fax:  +46 90-786 6126
 http://www.cs.umu.se/~andersb
   ___
   osg-users mailing list
   osg-users@lists.openscenegraph.org
  
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
  
  
 
 
 
  --
  
  Adrian Egli
  ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
  http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
 
 



 --


 
  Anders Backman   Email:[EMAIL PROTECTED]
  HPC2N/VRlab  Phone:+46 (0)90-786 9936
  Umea university  Cellular: +46 (0)70-392 64 67
  S-901 87 UMEA SWEDEN Fax:  +46 90-786 6126
http://www.cs.umu.se/~andersb
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] Efficient mesh data structures

2008-02-05 Thread Morné Pistorius
Hi all,

I am looking for an efficient general mesh data structure and I
thought I would bounce this one off the list.  I came across OpenMesh
(http://www.openmesh.org), which looks like it might be useful and
could conceivably be integrated into an osgNodeKit.  Has anyone here
ever used it or could you recommend something else?

As always, feedback is greatly appreciated!

Thanks,
Morne
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org