Re: [osg-users] Fullscreen dual monitor spanning

2010-12-15 Thread Alberto Luaces
David Glenn writes:

 Greetings Alberto!

 Just for grins, I tried this on a similar example program, and other
 than the ability to change resolutions and go to a full single screen,
 I was not able to get it to span both screens! Maybe there is
 something in the XConfig file that I have to set in X Windows manager
 (I use Genome) to get that to work, because I can’t even get my other
 windows to pan screens unless I drag them. I know that I would like to
 figure that out also!

Hi David,

Given I'm currently using nVidia cards, I have activated TwinView in
the X Server Display Configuration section of nvidia-settings. That
should modify your xorg.conf accordingly. Maybe that's the difference.

Regards,

-- 
Alberto

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


Re: [osg-users] Texture subloads

2010-12-15 Thread Yurii Monakov
Hi All!

Searching the answers on my question I've discovered some posts about
osg::Texture2D::SubloadCallback and I think that this feature fits my
purposes. The only question I have is about osg::Texture2D::apply()
function - when is it called? Does it depend on parent node visibility
or not? I need this callback to be called every frame regardless of
parent node's spatial orientation.

Thank you!

Best regards,
Yurii Monakov
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Error Compiling OSG GL3 on Win7/VS 2008

2010-12-15 Thread Torben Dannhauer
Hi Paul, Hi J-S,

the CMAKE modification works.

All other compile errors in a lot of files are cause on ambiguous symbols 
caused by wingdi.h. THis file is included in windows.h, which is in cluded in 
the gl3.h. To test if it is the reason, I modified gl3.h and disabled the 
include of windows.h.

Now the ambiguous symbols are disappared, but OSG has hundrets of linker 
errors, because all the _gl* functions are missing. Is this problem caused by 
my exclusion of windows.h, or is it another problem?

@Paul: You seem to have a running GL3 OSG. Is your OS windows? If yes, what ist 
build environment?


Thank you!

Cheers,
Torben

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





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


Re: [osg-users] Render on two screens with an angle

2010-12-15 Thread Bart Jan Schuit
I've made some progress, but not the one I want. I'm trying to figure out how I 
set the cameras properly. I figure that the shearing is actually the easiest 
step, once you know how to set the cameras and the projections/views. But my 
question is: how should I set both cameras? And their projection matrix and 
view matrix? 
I've made two views, both with their own camera of course. But I think I cannot 
easily add a CameraManipulator like the TrackBall manipulator, as moving the 
camera might impose some problems I think. So I tried to just add a 
CameraManipulator, but VS tells me I cannot do that as it is an abstract class. 
Simply, I just want to have a view pre-set views where the camera moves to like 
3 or 5 positions, all around the camera point drawn above (so I can test for a 
couple of views, to see if the projections are correct). So how can I set the 
cameras this way? Because if I don't add a Manipulator, nothing is shown on the 
screen. 
But my main question is how to set the view and/or projection matrices for each 
camera correctly. Hope you can help me, I'm spending hours on trying stuff out 
but I can't figure out how it should be done.

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





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


Re: [osg-users] Render to Texture

2010-12-15 Thread Sajjadul Islam
Hi Delport,

I am getting the several pass with  the chain effect within the dynamic scene. 
But the scene freezes after the third pass. And the scene remains frozen(i mean 
 the animation), i can only see the blurred scene.

What should i look into to debug this?

Thanks for all the useful hint you have put forward so far.

Regards
Sajjadul

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





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


Re: [osg-users] Render on two screens with an angle

2010-12-15 Thread Ulrich Hertlein
Hi Bart,

On 15/12/10 21:27 , Bart Jan Schuit wrote:
 But my question is: how should I
 set both cameras? And their projection matrix and view matrix? I've made two 
 views,
 both with their own camera of course. But I think I cannot easily add a
 CameraManipulator like the TrackBall manipulator, as moving the camera might 
 impose
 some problems I think. So I tried to just add a CameraManipulator, but VS 
 tells me I

I'd forget about Manipulators for now.  For a first cut I would just create the 
two
cameras manually and set the perspective and view matrices manually.  If you 
want to move
the camera you can create a keyboard handler that moves the eye point.  Then 
use this new
eye point when setting the view matrix.

This may not help very much, but I don't really understand at which point 
you're stuck a.t.m.

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


Re: [osg-users] Error Compiling OSG GL3 on Win7/VS 2008

2010-12-15 Thread Torben Dannhauer
Hi Paul, J-S

I applied 2 modifications, and it nearly works:

Mod 1: your suggested CMAKE modification
Mod 2: I extended the osg/GL includefile to define some windows constants 
before including GL3/gl3.h to aviod the name confilcts in the same way like it 
is done prior to the GL2 include:

Code:

#elif defined(OSG_GL3_AVAILABLE)
// Under Windows avoid including windows.h
// to avoid name space pollution, but Win32's GL/gl.h 
// needs APIENTRY and WINGDIAPI defined properly. 
// XXX This is from Win32's windef.h 
#ifndef APIENTRY
#define GLUT_APIENTRY_DEFINED
#if (_MSC_VER = 800) || defined(_STDCALL_SUPPORTED)
#define WINAPI __stdcall
#define APIENTRY WINAPI
#else
#define APIENTRY
#endif
#endif

 // XXX This is from Win32's windef.h 
#ifndef CALLBACK
#if (_MSC_VER = 800) || defined(_STDCALL_SUPPORTED)
#define CALLBACK __stdcall
#else
#define CALLBACK
#endif
#endif

// XXX This is from Win32's wingdi.h and winnt.h 
#ifndef WINGDIAPI
#define GLUT_WINGDIAPI_DEFINED
#define DECLSPEC_IMPORT __declspec(dllimport)
#define WINGDIAPI DECLSPEC_IMPORT
#endif

// XXX This is from Win32's ctype.h
#if !defined(_WCHAR_T_DEFINED)  !(defined(__GNUC__)((__GNUC__ == 
3)||(__GNUC__ == 4)))
typedef unsigned short wchar_t;
#define _WCHAR_T_DEFINED
#endif




#define GL3_PROTOTYPES 1
#include GL3/gl3.h

#ifndef GL_APIENTRY
#define GL_APIENTRY APIENTRY
#endif // GL_APIENTRY

#else




No the compile works, and most of the linking as well.

Only the Qtosg Module faisl to link, because it includes Qts OpenGL module, 
wich includes gl.h

The resulting definition conflict of gl3.h and gl.h ends in a lot of compile 
errors in osgQt.

What would be the approriate way to solve this issue?  According to this Qt 
issue report http://bugreports.qt.nokia.com/browse/QTBUG-8611 Qt currently does 
not support gl3.h usage.

So currently the only option is to disable osgQt while using GL3.

I'll submit my two modified files, afterwards the following steps are required 
for windows+MSVC users:
1. Download gl3.h from www.opengl.org/registry and put it into your 
DevEnvIncludeDir/GL3/gl3.h
2. Configure CMake to disable all OSG_GLx_AVAILABLE
3. Configure CMake to disable OSG_GL_DISPLAYLISTS_AVAILABLE
4. Configure CMake to disable OSG_GL_FIXED_FUNCTION_AVAILABLE
5. Configure CMake to disable OSG_GL_MATRICES_AVAILABLE
6. Configure CMake to disable OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE
7. Configure CMake to disable OSG_GL_VERTEX_FUNCS_AVAILABLE
8. Configure CMake to ENable OSG_GL3_AVAILABLE
9. Configure CMake to disable Qt usage, because currently Qt is not GL3 capable.

Cheers,
Torben

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





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


Re: [osg-users] Render on two screens with an angle

2010-12-15 Thread Bart Jan Schuit
Hi Ulrich,

Thank you for your quick response. 
Well when I delete my CameraManipulator (Trackball), the screen goes blank 
(just blue or black background, depending on which model I load). So I assumed 
a Manipulator was needed. 
And I think I need two of them, so I can manipulate each camera independently.

The main problem I'm stuck on now is how to setup the view. I've made two 
views, fullscreen. But now they both show the same image. I do know how to 
change camera positions. I do not know where they should be in the first place 
and which direction they face. I didn't quite understand that from your reply. 
The same goes for the views: how do I set the views correctly, so they are 
sheared? How should I set the viewmatrix (with what values but also where and 
how), the projection matrix etc.  Because the view and projection matrix can 
only be set via a camera. But I cannot manipulate a camera myself, because a 
Manipulator is defined. And through the manipulator I cannot set the projection 
and view matrix.
Maybe it's just a dumb question, I'm sorry for that. I'm completely new to 
programming with OpenGL and OSG. Made some examples, read the QSG and a lot of 
forum posts, but I still don't get it. 

Thank you alot for your help.

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





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


Re: [osg-users] Using getGlShaderInfoLog

2010-12-15 Thread Joel Graff
J-S,

Thanks for the reply.  You told me exactly what I needed to know.

I think I had assumed to this point that the shader would be compiled once it 
was loaded and bound to the program object - it seemed the most logical way to 
manage it.  Of course, once you indicated that even compilation doesn't happen 
until the shader's called for (which makes sense, now that I think of it), I 
tried retrieving the log after calling viewer.frame() inside the viewer loop 
and it worked perfectly.

Anyway, thanks for the help!

Joel

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





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


Re: [osg-users] Error Compiling OSG GL3 on Win7/VS 2008

2010-12-15 Thread Paul Martz

On 12/15/2010 2:25 AM, Torben Dannhauer wrote:

@Paul: You seem to have a running GL3 OSG. Is your OS windows? If yes, what ist 
build environment?


Yes, it was on Windows, which, of course, only support GL 1.1 native.

When I had this working, I was using gl3.h only for function prototype 
definitions, then filling in the necessary function pointers. As a result, there 
were no undefined symbols.


--
  -Paul Martz  Skew Matrix Software
   http://www.skew-matrix.com/
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Curves/splines

2010-12-15 Thread Peter Wrobrl

pamakela wrote:
 Hi 
 
 
 I'd like to use curves, particularly simple 2d control point based splines to 
 drive variables of scene graph objects over time. I'd also like to use both 
 linear and cubic interpolated curves. So for example the curve could be sharp 
 sawtooth, a cubic curve with smooth knee/shoulder, etc. A smooth curve could 
 be used to control the fade-in or fade-out of a text object for example. 
 
 Is there a (fast) library for doing this? Or is there another approach for 
 doing this?
 
 
 Paavo


Yes, osgAnimation.

Cheers, ParticlePeter

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





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


[osg-users] draw a curve and a curved pive

2010-12-15 Thread lucie lemonnier
Hi,

I want to draw a curve from a list of points (osg::Vec3f).
I looked at osgModeling but I can't draw a curve, I used the class Curve.
This gives me an edge between the points and does not calculate a curve.
Can you help me, please?

Thank you!

Cheers,
lucie

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





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


[osg-users] Setting camera Viewmatrix with TrackBallManipulator Matrix gives nothing but black screen

2010-12-15 Thread Bart Jan Schuit
Hi,

I'm trying to setup some cameras without a manipulator. When I assign a 
Trackballmanipulator on the vies, I get the cow projected on the screen. But as 
soon as I manually setup the cameras, I get a completely black screen.
I extract eye, center and up from Tman (Trackballmanipulator) by 
Tman-getMatrix().lookat(eye, center, up).

This gives some nice coordinates, but when I put these in a camera without a 
manipulator like Tman, I just get a black screen. What am I doing wrong here?


Code:

int main( int argc, char **argv )
{

// use an ArgumentParser object to manage the program arguments.
   osg::ArgumentParser arguments(argc,argv);



osg::Group* scene = new osg::Group();
osg::Node* groundNode = NULL;
groundNode = osgDB::readNodeFile(cow.osg);

scene-addChild(groundNode);

osgViewer::CompositeViewer viewer(arguments);

if (arguments.read(-2))
{

// view one
{

osg::Vec3d eye = osg::Vec3d(0,0,250);
osg::Vec3d center = osg::Vec3d(0,0,250);
osg::Vec3d up = osg::Vec3d(0,0,-1);
osg::Quat rotation;
osg::Matrixd viewmat;

osg::Camera* camera = new osg::Camera;
osgViewer::View* view = new osgViewer::View;
view-setName(View one);
viewer.addView(view);
//camera-setProjectionMatrix( osg::Matrix::ortho2D(0,512,0,512) );  //not 
doing anything 
//camera-setReferenceFrame( osg::Transform::ABSOLUTE_RF );
//camera-setViewMatrix( osg::Matrix::identity() );
view-setCameraManipulator(Tman);
//Tman-setAutoComputeHomePosition(false);
view-setUpViewOnSingleScreen(0);
view-setSceneData(scene);
//view-setCamera(camera);

}

// view two
{
osg::Matrixd viewmat;
osg::Camera* camera = new osg::Camera;
osgViewer::View* view = new osgViewer::View;
view-setName(View two);
viewer.addView(view);
view-setUpViewOnSingleScreen(1);
view-setSceneData(scene);
//view-setCamera(camera);
view-setCameraManipulator(Tman);
view-setName(right);
osg::Vec3d eye = osg::Vec3d(0,0,25);
osg::Vec3d center = osg::Vec3d(0,0,25);
osg::Vec3d up = osg::Vec3d(0,0,-1);
}
}
viewer.realize();



while(!viewer.done())
{   

osg::Vec3d eye = osg::Vec3d(0,0,50);
osg::Vec3d center = osg::Vec3d(0,0,50);
osg::Vec3d up = osg::Vec3d(0,0,-1);
Tman-setHomePosition(eye,center,up); //not working. Doesn't 
matter how I set eye, center etc.
viewer.frame();
}
}




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





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


Re: [osg-users] Fullscreen dual monitor spanning

2010-12-15 Thread David Glenn

Alberto Luaces wrote:
 David Glenn writes:
 
 
  Greetings Alberto!
  
  Just for grins, I tried this on a similar example program, and other
  than the ability to change resolutions and go to a full single screen,
  I was not able to get it to span both screens! Maybe there is
  something in the XConfig file that I have to set in X Windows manager
  (I use Genome) to get that to work, because I can’t even get my other
  windows to pan screens unless I drag them. I know that I would like to
  figure that out also!
  
 
 Hi David,
 
 Given I'm currently using nVidia cards, I have activated TwinView in
 the X Server Display Configuration section of nvidia-settings. That
 should modify your xorg.conf accordingly. Maybe that's the difference.
 
 Regards,
 
 -- 
 Alberto
 
 ___
 osg-users mailing list
 
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
 
  --
 Post generated by Mail2Forum



Well, TwinView is active! 
I'm using an nVidia card (GeForce 8600 GT) and their drivers (195.36.24)! 
It's gota be something else! Maybe in the Windows Manager there is a setting I 
missing, I suspect!


D Glenn (a.k.a David Glenn) - Moving Heaven and Earth!

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





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


[osg-users] SphericalManipulator with limited elevation range

2010-12-15 Thread Matthew Koichi Grimes
I'm transitioning my map viewer code from using GL/GLUT directly to using
OSG. In my old code, the camera manipulation interface was very similar to
osgGA::SphericalManipulator, in that the camera stared at a point on the
ground, while the mouse moved the camera around on a sphere centered at that
point. The one difference was that in my interface, the camera elevation was
limited to 0 to pi/2 radians. This prevented the camera from sinking below
the ground (elevation  0), or rising up and over the top of the sphere,
looking at the ground upside-down (elevation  pi/2).

I would like to have this same camera behavior in OSG. What would be the
best way to go about it? Obviously I could add setMaximumElevation and
setMinimumElevation methods to SphericalManipulator (it already has
setMinimumZoomScale, etc), but if there's a way to limit elevation without
changing the OSG source code, that would be preferable, for distribution
reasons.

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


Re: [osg-users] SphericalManipulator with limited elevation range

2010-12-15 Thread Tom Pearce
If you want to reuse a lot of the code from SphericalManipulator but add some 
new features, derive a new class from SphericalManipulator (instead of changing 
the osg source at all).  At the very least it's a good way to experiment with 
the new features you're adding without having to start over all the way.  And 
later if you want to clean your manipulator up a bit you can derive it from 
MatrixManipulator directly, and reimplement that necessary functions while 
cutting out anything from SphericalManipulator which you don't need.

Cheers,
Tom

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





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


Re: [osg-users] Render on two screens with an angle

2010-12-15 Thread Ulrich Hertlein
Hi Bart,

On 15/12/10 22:53 , Bart Jan Schuit wrote:
 Thank you for your quick response. Well when I delete my CameraManipulator 
 (Trackball),
 the screen goes blank (just blue or black background, depending on which 
 model I load).
 So I assumed a Manipulator was needed.

You see nothing because the cameras are not properly set up.  The 
CameraManipulators will
by default place the camera so that the entire model is visible.  Camera 
doesn't do that
for you.

What I usually do first (to get something visible) is to place the camera so 
it's watching
the entire scene:

// Get the scene bounding sphere
osg::BoundingSphere bsph = scene-getBound();

// Look at the center of the scene
osg::Vec3 lookAt = bsph.center();

// Place eye at an appropriate distance 'south' of the look-at point
osg::Vec3 eye = lookAt + osg::Vec3(0,-1,0) * bsph.radius() * 1.5f;

// Set camera view matrix
camera-setViewMatrixAsLookAt(eye, lookAt, osg::Vec3(0,0,1));

 (with what values but also where and how), the projection matrix etc.  
 Because the view
 and projection matrix can only be set via a camera. But I cannot manipulate a 
 camera
 myself, because a Manipulator is defined.

That's why I said don't use a Manipulator.  The Manipulator is only calling
osg::Camera::setViewMatrix* with a properly constructed view matrix, but you 
can just as
well do that yourself.  See above.

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


Re: [osg-users] Render on two screens with an angle

2010-12-15 Thread Bart Jan Schuit
Hi Ulrich,

Thank you again for your patience and insight.
Your code makes absolute sense. But I still get the same result. If I have no 
trackball manipulator for either view, I get a black screen. When I have set it 
up for one view, only that view gets an image. My code:

Code:

osg::Group* scene = new osg::Group();
osg::Node* groundNode = NULL;
osg::Node* tankNode = NULL;
groundNode = osgDB::readNodeFile(cow.osg);

scene-addChild(groundNode);
osgGA::TrackballManipulator* Tman = new osgGA::TrackballManipulator;

// construct the viewer.
osgViewer::CompositeViewer viewer(arguments);


if (arguments.read(-2))
{

// view one
{

osg::Camera* camera = new osg::Camera;
osgViewer::View* view = new osgViewer::View;
view-setName(View one);
viewer.addView(view);

view-setUpViewOnSingleScreen(0);
view-setSceneData(scene);

// Get the scene bounding sphere
osg::BoundingSphere bsph = scene-getBound();

// Look at the center of the scene
osg::Vec3 lookAt = bsph.center();

// Place eye at an appropriate distance 'south' of the look-at point
osg::Vec3 eyef = lookAt + osg::Vec3(0,-1,0) * bsph.radius() * 3.5f;

// Set camera view matrix
camera-setViewMatrixAsLookAt(eyef, lookAt, osg::Vec3(0,0,1)); 
view-setCamera(camera);
}

// view two
{
osg::Camera* camera = new osg::Camera;
osgViewer::View* view = new osgViewer::View;
view-setName(View two);
viewer.addView(view);

view-setUpViewOnSingleScreen(1);
view-setSceneData(scene);

// Get the scene bounding sphere
osg::BoundingSphere bsph = scene-getBound();

// Look at the center of the scene
osg::Vec3 lookAt = bsph.center();

// Place eye at an appropriate distance 'south' of the look-at point
osg::Vec3 eyef = lookAt + osg::Vec3(0,-1,0) * bsph.radius() * 1.5f;

// Set camera view matrix
camera-setViewMatrixAsLookAt(eyef, lookAt, osg::Vec3(0,0,1)); 
view-setCamera(camera);
//view-setCameraManipulator(Tman);
}
}

viewer.realize();


while(!viewer.done())
{   

viewer.frame();
}




I must be missing something obvious I guess, but for me it isn't obvious (yet). 

Thank you!

Cheers,
Bart Jan

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





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


Re: [osg-users] Render on two screens with an angle

2010-12-15 Thread Jean-Sébastien Guay

Hello Bart,


I must be missing something obvious I guess, but for me it isn't obvious (yet).


Not quite obvious, I would say, but something you could have found out 
by using the debugger or looking at the OSG code for the functions 
you're calling. Both are tools you should learn to use when you develop 
with third-party libraries, especially open source ones like OSG.


You don't need to create a new camera. In fact, in creating a new camera 
and replacing the view's camera with yours AFTER the 
view-setUpViewOnSingleScreen(x) line, you're effectively destroying the 
graphics context that the setUpView...() function created for you. And 
your own camera has no graphics context, so you see a black screen.


When you create an osgViewer::View, it creates an osg::Camera for you, 
with appropriate settings. When you call view-setUpView...(), it 
creates a graphics context and sets it on the view's camera. Creating 
your own camera and setting it on the view basically voids all that work 
that was done for you.


So just remove the lines:

  osg::Camera* camera = new osg::Camera;
  ...
  view-setCamera(camera);

for both your views, and whenever you used the camera variable, use 
view-getCamera() instead.


I'm not sure why you say that just setting a manipulator on the view did 
not give a black screen. Running your code with the 
setCameraManipulator(Tman) line uncommented, I still get a black screen 
in the second view, as I would expect. The camera manipulator is not 
related to the graphics context in any way, it only acts on the camera's 
view matrix. If the camera doesn't have a graphics context, you'll get a 
black screen whether you have a camera manipulator or not.


What will make a difference is using viewer.run() instead of while 
!viewer.done()) viewer.frame(); . The former is a shortcut for doing 
quick demos. It will do a few things for you, including setting a camera 
manipulator and creating a graphics context that spans all your screens. 
So this might have led you to believe that the two were related, but 
they're not. It's just that viewer.run() does these two things for 
you... But if you don't want to use a camera manipulator, you don't want 
viewer.run() anyways.


This kind of thing could be seen in a debugger by the way. By setting a 
breakpoint when you create your views, you could have seen that the view 
already had a camera as soon as it was created, then that the 
setUpView...() function had set a graphics context on that camera, and 
then when you assigned your own camera you could have seen that it had 
no graphics context.


Finally, for future reference, if you want someone to actually compile 
and run your code, it's much more helpful to include a complete file, 
with all necessary headers etc that you know compiles, rather than copy 
and paste some code (even if it's almost complete). It just provides a 
lower barrier for people to help you easily... For example, here's a 
source file ready to be compiled that shows what I'm talking about 
above. You should see the cow on both screens. (note I've commented out 
checking the arguments for -2, so I can test without any command line 
arguments, again make it easy for people to help you...)


Hope this helps,

J-S
--
__
Jean-Sebastien Guayjean-sebastien.g...@cm-labs.com
   http://www.cm-labs.com/
http://whitestar02.webhop.org/
#include osgDB/ReadFile
#include osg/Group
#include osgViewer/CompositeViewer
#include osgViewer/View
#include osgGA/TrackballManipulator

int main(int argc, char** argv)
{
osg::ArgumentParser arguments(argc, argv);

osg::Group* scene = new osg::Group();
osg::Node* groundNode = NULL;
osg::Node* tankNode = NULL;
groundNode = osgDB::readNodeFile(cow.osg);

scene-addChild(groundNode);
osgGA::TrackballManipulator* Tman = new osgGA::TrackballManipulator;

// construct the viewer.
osgViewer::CompositeViewer viewer(arguments);


//if (arguments.read(-2))
{

// view one
{

//osg::Camera* camera = new osg::Camera;// 
don't create a new camera
osgViewer::View* view = new osgViewer::View;
osg::Camera* camera = view-getCamera();// use the 
view's existing camera instead.
view-setName(View one);
viewer.addView(view);

view-setUpViewOnSingleScreen(0);
view-setSceneData(scene);

// Get the scene bounding sphere
osg::BoundingSphere bsph = scene-getBound();

// Look at the center of the scene
osg::Vec3 lookAt = bsph.center();

// Place eye at an appropriate distance 'south' of the look-at point
osg::Vec3 eyef = lookAt + osg::Vec3(0,-1,0) * bsph.radius() * 3.5f;

// Set camera view 

Re: [osg-users] Limitation in current ImageLayer serializer

2010-12-15 Thread Wang Rui
Hi Brad,

In your compile error reports:

cannot convert parameter 3 from 'bool (__cdecl *)(osgDB::InputStream
,const osgTerrain::ImageLayer )

Shouldn't it be:

bool readFunction(osgDB::InputStream, osgTerrain::ImageLayer)

'const' may not be used here. :-)

Wang Rui


2010/12/16 Christiansen, Brad brad.christian...@thalesgroup.com.au:
 Hi Rui,

 I have finally found some time to have a look at this issue, and would love 
 to get a fix implemented before 3.0, but I am not having much luck.
 I have previously managed to add a user serializer to VirtualPlanetBuilder 
 without issue to add support for some extra options, but am getting nowhere 
 with the ImageLyer serializer.

 I changed the code exactly as you suggested and have added the required check 
 / read and write functions. I am pretty sure I can implement these ok but I 
 cant get things compiling with simple stub implementations that simply return 
 true.

 The compile error I am getting is:

 2  ImageLayer.cpp
 2..\..\..\..\..\..\..\Source\src-osg\src\osgWrappers\serializers\osgTerrain\ImageLayer.cpp(52):
  error C2664: 'osgDB::UserSerializerC::UserSerializer(const char *,bool 
 (__cdecl *)(const C ),bool (__cdecl *)(osgDB::InputStream ,C ),bool 
 (__cdecl *)(osgDB::OutputStream ,const C ))' : cannot convert parameter 3 
 from 'bool (__cdecl *)(osgDB::InputStream ,const osgTerrain::ImageLayer )' 
 to 'bool (__cdecl *)(osgDB::InputStream ,C )'
 2          with
 2          [
 2              C=MyClass
 2          ]
 2          This conversion requires a reinterpret_cast, a C-style cast or 
 function-style cast

 After examing the the VirtualPlanetBuilder code I modified for an earlier 
 submission, I think I need to register a lookup (or something like that) to 
 solve the issue but my C++ skills just arnt up to the job of figuring out 
 exactly what it is I need to do. Any suggestions or simple examples I could 
 look at would be greatly appreciated.

 Cheers,
 Brad


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


Re: [osg-users] Limitation in current ImageLayer serializer

2010-12-15 Thread Wang Rui
Hi Brad,

2010/12/16 Christiansen, Brad brad.christian...@thalesgroup.com.au:
 ps- I am not used to such quick resposes. Geat having someone in the same 
 time zone for a change!


I'm in China and its afternoon here. I'm just in my best shape after a
rest at midnood. ;-)

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


Re: [osg-users] [ANN] MS Kinect - official drivers available

2010-12-15 Thread Torben Dannhauer
Hi dimi,

Primesense produces the MS Kincect product. In germany there is a very famous 
publisher of IT journals (Publisher 'Heise' www.heise.de, journals IX, CT)

They reported a lot regarding MS Kinect and the open source drivers.
They also reported the release of the openni drivers. I haven't tested it yet 
because I'll buy it as a christmas gift to myself next week (yes, sometimes 
christmas is a great plea :D )

But regarding the journal qualities of heise, I'm absolutely sure it will work 
out of the box.

I can give feedback in two weeks :)

Best regards,
Torben

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





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


[osg-users] [build] Getting error C2988: unrecognizable template declaration/definition while compiling osgdb_vrml

2010-12-15 Thread Holger Krumm
Hi everybody!

I try to compile the osgdb_vrml reader plugin. As of now I have managed to 
compile a openvrml.lib from the current version OpenVRML 0.18.5 (not via 
subversion but downloaded the source directly from website).
When I try to compile I get a error C2988: unrecognizable template 
declaration/definition in openvrml\local\float.h. It seems to have something 
to do with the definition of OPENVRML_LOCAL beyond.


Code:

 template typename Float
OPENVRML_LOCAL inline Float fabs(const Float f)
{
return f  0.0 ? -f : f;
}




Did anyone ran into same troubles like me?

Any pointer is appreciated, unfortunately my C++ knowledge is limited (little 
bit rusty, you know :) )


Thanks!

Cheers,
Holger

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





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