Re: [osg-users] osg apps on gpu cluster

2018-10-04 Thread David Heitbrink
GPU affinity is really only available with Quadro cards. AMD has there own 
system that is a little more complicated, and has a few more featuresbut I 
am not really experienced with those, and I believe they are only usable on the 
FirePro/Radeon Pro cards.

We have found setting the GPU affinity is an absolute must for multi GPU 
systems on windows.

Basically from what I understand, windows will by default dispatch the OpenGL 
commands to what it thinks is the fastest GPU in the system, then copies the 
result to the other GPU(s). Linux by default dispatches the commands to the GPU 
attached to the display the window is on..so setting the GPU affinity is 
most likely only worth while if you are using windows.

FYI I think this was the talk I sat through on the subject:
https://docplayer.net/29825650-Programming-multi-gpus-for-scalable-rendering-shalini-venkataraman-senior-applied-engineer-nvidia.html

I do have an modification of OSG I could share that sets the GPU affinity 
mask.but its ugly. 

You might also have to think about synchronization if you are driving multiple 
projectors that are blended to form a single image...and if you have a decent 
amount of motion, you can get noticeable tearing in the blend regions.

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





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


Re: [osg-users] Latency

2018-10-04 Thread David Heitbrink
I am not running it in Quadro mosaic mode. I do have a slightly older version 
of the program running on a render cluster with 5  2-gpu nodes driving 16 
displays that runs fine on windows 7.

I am starting to suspect it has something to do with the Windows - Desktop 
Window Manager (DWM) composition. This can no longer be disabled in windows 10.

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





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


Re: [osg-users] Problems porting from osg-3.4.0 to osg-3.6.0

2018-10-04 Thread Herman Varma
Hi,


I have upgraded the vtp code to osg 3.6.3
Everything compiled and linked properly. However I still have some execution 
problems.

I just want to check if  the code below is coded properly

FQuat TransformExtension::GetOrient() const
{
const osg::Matrix  = m_pTransform->getMatrix();
osg::Quat q;

//  xform.get(q);   
// Replacing xform.get(q) 
// with
q = xform.getRotate();

return FQuat(q.x(), q.y(), q.z(), q.w());
}

... 

Thank you!

Cheers,
Herman

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





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


[osg-users] Implementing own manipulator

2018-10-04 Thread Vinicius Nonnenmacher
Hi,

The trackball manipulator is almost what I need for my application. I would 
like to handle some keyboard inputs to move the camera. 

I am trying to derive TrackballManipulator and override the handle() method. 
Looking at the structure of 'camera manipulators', it seems to me that this is 
the right way to just handle keyboard inputs.

But somehow the handle method of my manipulator is not being called. just 
never. 

Am I in the right direction?


Code:

class CityManipulator : public osgGA::TrackballManipulator
{

public:
CityManipulator(int flags = DEFAULT_SETTINGS)
:osgGA::TrackballManipulator(){}
CityManipulator( const CityManipulator& tm,
 const osg::CopyOp& copyOp = osg::CopyOp::SHALLOW_COPY )
:osgGA::TrackballManipulator( tm, copyOp ){}

META_Object( osgGA, CityManipulator )

protected:
bool handle( const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& us)
{
std::cout << "handling" << std::endl;

bool handled(false);

switch(ea.getEventType())
{
case(osgGA::GUIEventAdapter::KEYDOWN):
   {
  switch(ea.getKey())
  {
  case 'w':
 std::cout << "pressing w"  << std::endl;
 return false;
 break;
  default:
 return false;
  }
   }
default:
   return false;
}

return TrackballManipulator::handle(ea, us);
}
};

//

CityManipulator * tm = new CityManipulator();

tm->setNode(m_rootNode);

tm_viewer->setCameraManipulator(tm);






... 

Thank you!

Cheers,
Vinicius
Code:




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





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