Re: [osg-users] Windows Touch Support
Hi Olaf, The changes look much more portable to me, would you like to put them forward for merging? Robert. On 28 February 2012 14:47, Olaf Flebbe o...@oflebbe.de wrote: Hi *, I submitted a patch to enable MultiTouch Support for Windows 7 and above. A first patch featured a CMAKE Variable WIN32_MUTITOUCH controlling support for Multitouch on Windows. Furthermore: * It depends on a recent SDK (Which is part of Visual Studio 2010, but not by default part of VS 2008). * It updated the WIN_VER Variable to use the WIN7 API, iff WIN32_MUTITOUCH is enabled * It did call Win7 (Vista and upwards?) specific API's, breaking OSG on for instance Win XP. Robert rejected it because of these shortcomings and proposed to discuss other ways to use this API on osg-users. I now propose a different patch: * It should now work with all Visual Studio Versions. * WIN_VER is left as-is * I added the missing declarations from a recent SDK, if not supplied by the SDK * If someone chooses to update WIN_VER, the declarations should not break. * All API Calls are runtime detected. * No CMake Variable, Support is enabled automatically . What do you think? Please find attached a zip of the changed GraphicsWindowWin32.cpp as of SVN trunk of yesterday. Greetings, Olaf BTW: Maybe there is a transformation of coordinates of touchpoints missing... ___ 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] animation from one projection type to the other one
Hi all, I'm trying to implement an animation from a perspective projection to an orthographic one. What I'm computing at each step is a weighted linear combination of 2 projection matrices (the start, that refers to a perspective projection, and the end, which is an orthographic projection). So, supposing the whole animation in N steps, at step n my projection matrix is defined by: Proj(n) = startProjMat * (1 - n/N) + endProjMat * n/N. The animation looks fine, but in the last step there is a noticeable jump on the screen. What did I go wrong? Is there any unpredictable or invalid result in the linear combination I computed, or is it a well defined projection matrix? Thanks Gianluca ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] Point attribute affecting display of triangle on OS X
Attached is a simple OSG example that, on Mac with nVidia card, seems to show point geometry with the Point StateAttribute set causing other geometry to be clipped. We did not see this on a Mac with an ATI card. This has been reproduced on the OSG trunk, but has been seen on older versions as well. The example has a ClipNode, and a Geode with a Point, Line, and Triangle. When we set the Point attribute on the StateSet, the Triangle and Line don't appear. When we skip setting the Point attribute, all three Geometry drawables appear. If you build the example and run it with no arguments, the Point attribute is not set. If you run with an argument (doesn't matter what it is), the Point attribute is set. Leaving out the ClipNode causes all the Geometry objects to show, whether or not the Point is set. We suspect the part of Point::apply() which handles some of the extensions. Could there be a problem in the nVidia driver? If someone with an nVidia card on a Mac could try this out and give us some input, we would appreciate it. Also, if it turns out to be an issue we would report to nVidia, could we report it with an OSG example? In other words, does nVidia have the ability to build OSG examples, and have you reported problems to them with OSG to demonstrate? In our real app, we saw triangle geometry move when we set the point attribute. That pushed it out of the clipping planes, sometimes partially. This example only shows the triangle disappearing, but it may be moving. Any idea for why these things (settings on point attribute and transform of triangle) might be connected? thanks, andy #include osg/Geometry #include osg/ClipNode #include osg/Point #include osg/Geode #include osgViewer/Viewer int main(int argc, char *){ // GL_LINES osg::ref_ptrosg::Vec3Array xAxis = new osg::Vec3Array; xAxis-push_back( osg::Vec3( -10.f, 0.f, 0.0f) ); xAxis-push_back( osg::Vec3( 10.f, 0.f, 0.0f) ); osg::ref_ptr osg::Vec4Array xColor = new osg::Vec4Array; xColor-push_back( osg::Vec4(0.0f, 1.0f, 0.0f, 1.0f)); osg::ref_ptrosg::Geometry X = new osg::Geometry; X-setVertexArray( xAxis.get() ); X-setColorArray( xColor.get() ); X-setColorBinding( osg::Geometry::BIND_OVERALL ); X-addPrimitiveSet( new osg::DrawArrays( GL_LINES,0 , 2 ) ); // GL_Triangles osg::ref_ptrosg::Vec3Array tVertices = new osg::Vec3Array; tVertices-push_back( osg::Vec3(0.0f, 0.0f, 0.0f) ); tVertices-push_back( osg::Vec3(10.0f, 0.0f, 0.0f) ); tVertices-push_back( osg::Vec3(10.0f, 10.0f,10.0f) ); osg::ref_ptrosg::Vec4Array tColor = new osg::Vec4Array; tColor-push_back( osg::Vec4( 1.0f, 0.0f, 0.0f, 1.0f) ); osg::ref_ptr osg::Geometry tri = new osg::Geometry; tri-setVertexArray( tVertices.get() ); tri-setColorArray( tColor.get() ); tri-setColorBinding( osg::Geometry::BIND_OVERALL ); tri-addPrimitiveSet( new osg::DrawArrays( GL_TRIANGLES, 0, 3 ) ); // GL_POINTS osg::ref_ptrosg::Geometry geom(new osg::Geometry()); osg::ref_ptrosg::StateSet stateSet(geom-getOrCreateStateSet()); osg::ref_ptrosg::Vec4Array pColor = new osg::Vec4Array; pColor-push_back( osg::Vec4( 0.0f, 1.0f, 0.0f, 1.0f) ); osg::ref_ptrosg::Point p(new osg::Point()); osg::ref_ptrosg::Vec3Array pVertices = new osg::Vec3Array; for( float idx = 0.; idx 10; idx = idx + 1.){ pVertices-push_back( osg::Vec3( idx, idx, idx ) ); } geom-setColorArray( pColor.get() ); geom-setColorBinding( osg::Geometry::BIND_OVERALL ); geom-setVertexArray(pVertices.get()); int numVerts = pVertices-size(); geom-addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::POINTS, 0, 7)); float ptSize = 20.f; // some large size p-setSize(ptSize); if (argc 1){ // This seems to cause the triangle and line to disappear stateSet-setAttributeAndModes(p.get(), osg::StateAttribute::ON); } osg::ref_ptrosg::Geoderoot = new osg::Geode; root-addDrawable ( X.get() ); root-addDrawable( tri.get() ); root-addDrawable( geom.get() ); // This is needed osg::ref_ptrosg::ClipNodeclipper = new osg::ClipNode; osg::BoundingBox bb(-5., -10., -10., 5., 5., 5.); clipper-createClipBox(bb); clipper-addChild(root); osgViewer::Viewer viewer; viewer.setLightingMode(osg::View::NO_LIGHT); viewer.setSceneData( clipper.get() ); viewer.setUpViewInWindow(20, 20, 640, 480); viewer.realize(); return viewer.run(); } ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] osgviewer error on closing
when I am closing osgviewer I am getting this error Inconsistency detected by ld.so: dl-close.c: 743: _dl_close: Assertion `map-l_init_called' failed! i am using ubuntu 11.10 build of osg -- Regards, Rashad ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] GL_TRANSFORM_FEEDBACK_BUFFER_NV in OSG
Hello, I tried this in my camera draw callback: virtual void operator()(const osg::Camera camera) const { // GL-Context-ID GLuint gcID = _gc-getState()-getContextID(); // GL-Program-Handle osg::Program::PerContextProgram* pcp = _program-getPCP(gcID); GLuint prID=pcp-getHandle(); const char* varyings[1] = { vPosition }; glTransformFeedbackVaryings(prID, 1, varyings, GL_SEPARATE_ATTRIBS); } But when I want to compile this, I get the error glTransformFeedbackVaryings isn't defined. I searched in my includes and it is in the glext.h and glew.h defined. What is wrong? Cheers, Martin Original-Nachricht Datum: Tue, 28 Feb 2012 10:45:16 -0700 Von: Paul Martz pma...@skew-matrix.com An: OpenSceneGraph Users osg-users@lists.openscenegraph.org Betreff: Re: [osg-users] GL_TRANSFORM_FEEDBACK_BUFFER_NV in OSG On 2/28/2012 9:10 AM, Martin Großer wrote: Hello Paul, In OpenGL I have to define the varying variables for the transform feedback between the compiling and linking of the shader program. glTransformFeedbackVaryings(programHandle, 1, varyings, GL_SEPARATE_ATTRIBS); How can I do this in OSG? The same way. You can issue an OpenGL call any time you have a current context (Camera pre draw callback, Drawable draw callback, etc). A quick glance at the Program header file reveals that you can get the program ID with a call to: osg::Program::getPCP(contextID)-getHandle(); Additinally I use osg 2.8.4 from the Fedora repository. Cheers, Martin Original-Nachricht Datum: Mon, 27 Feb 2012 09:51:15 -0700 Von: Paul Martzpma...@skew-matrix.com An: OpenSceneGraph Usersosg-users@lists.openscenegraph.org Betreff: Re: [osg-users] GL_TRANSFORM_FEEDBACK_BUFFER_NV in OSG Yes, it's possible, but there are no examples that I know of. You might try binding a buffer object in a Camera pre-draw callback, for an example of one strategy. -Paul On 2/27/2012 8:21 AM, Martin Großer wrote: Hello, Is it possible to use GL_TRANSFORM_FEEDBACK_BUFFER_NV extension in osg? I would like write back my vertex position data into a new Vertex Buffer Object. Is there any example about this? Cheers Martin ___ 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 -- NEU: FreePhone 3-fach-Flat mit kostenlosem Smartphone! Jetzt informieren: http://mobile.1und1.de/?ac=OM.PW.PW003K20328T7073a ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] osg::PolyTope question
Hi, I have trouble getting all the points that are contained in a polytope. I have 5 points and their coordinates are: Code: moCamPos [0] -30628.215 [1] -126959.86 [2] 36593.875 vertices[0] [0] 6853.2168 [1] -61593.543 [2] -118975.06 vertices[1] [0] 5790.0107 [1] -57556.223 [2] -112859.98 vertices[2] [0] 1168.1683 [1] -58543.223 [2] -112611.32 vertices[3] [0] 2656.5122 [1] -62452.973 [2] -118697.02 The polytope is construct a follows: Code: std::vectorosg::Plane planes; for (int i = 1; i vertices-size(); ++i) { planes.push_back(osg::Plane(moCamPos, vertices-at(i-1), vertices-at(i))); } planes.push_back(osg::Plane(moCamPos, vertices-at(vertices-size()-1), vertices-at(0))); planes.push_back(osg::Plane(vertices-at(0), vertices-at(1), vertices-at(2))); osg::Polytope oPolyTope(planes); Where the vertices contain the points above. When I iterate through all the points in the model and query the polytope using contains method, it returns false for each of them Still, if I draw the lines corresponding to the points in question, and use the bounding box of the geometry I do get points inside (see the attached image). A couple of questions: 1. When constructing a polytope from a list of planes, do I have to take care of the normal of the plane? The documentation says When adding planes, their normals should point inwards (into the volume), does this apply to void osg::Polytope::add(const osg::Plane pl) method only? 2. Is there a better method of achieving this? Thank you! Cheers, Teodor -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=45874#45874 Attachments: http://forum.openscenegraph.org//files/intersection_102.jpg ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] CompositeViewer and RTT-SceneGraph
Hello, I tried to render a scene into a texture and use a frame buffer object render target for the view master camera. I want to chance the camera with a CameraManipulator. It works fine if I only use one view, but it doesn't work if I use more views. The CameraManipulator get the wrong information from the EventAdapter (that is my theory). I guess the problem is, that the camera has a viewport with (0,0,TexWidht,TexHeight). I have attached a drawing about my konfiguration. I hope it is easier to understand with the picture. It is interesting to note that the getXnormalize() method of EventAdapter didn't get a normalized value. Cheers, Martin -- NEU: FreePhone 3-fach-Flat mit kostenlosem Smartphone! Jetzt informieren: http://mobile.1und1.de/?ac=OM.PW.PW003K20328T7073a attachment: osg_konfiguration.png___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] Multiscreen setup under X and Qt
Hi, I have this configuration dual Geforce 580 cards with 4 DVI outputs under Ubuntu 11.10 x64 and 295 drivers. So I need to implement following setup first screen Qt fullscreen window with embedded OSG displayed on Monitor connected to first GPU. second screen fullscreen OSG window, connected to HMD display on second GPU. As far as I understand it's better to have shared context because I have to have identical image in embedded OSG window and on second screen. Maybe someone advice me what is the best way to use composite viewer or another technique. And should I use TwinView or Separate X screens? Thank you! Cheers, Roman -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=45873#45873 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] osgVolume RayTracedTechnique problem
Hi, My program is set to use RayTracedTechnique for display voxel. I tested the same program on windows XP and windows 7 machines. Only windows 7 machine can display the image properly. In windows XP, it shows the cube filled with white colour. I found out the problem is related to RayTracedTechnique. Any one got similar problem? How to fix this? Many thanks. Regards, Clement ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] How to prevent resize of viewer window (WindowsandLinux)
Hi Karl, Is that you are trying to prevent the resize done by the window manager? Under X11 there is the override redirect flag to prevent the window manager taking control of the window size so you can get exactly the size you want, however, it also prevents the window manager from decorating the window so only ideal for full screen windows. To set this flag when creating your GraphicsWindows set the osg::Traits::overrideRedirect member variable to true. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Rendering without calling osgViewer::frame
I'm currently working on a project where I have to integrate library into a 3rd party application's source code. The library consists of a custom osg Camera that takes 9 snapshots of the user's scene. The headache's I've run into are the following: 1. I cannot seem to turn off the 3rd party app's main camera in the osgViewer class. I set nodeMask(0) on the camera but then my camera doesn't render. Having the main camera enabled adds unnecessary overhead. 2. The process of taking the 9 snapshots has additional overhead from having to re-process and re-run the update, event, cull and render traversals for each snapshot. Since each view orbits about the same point in space, I'd like the ability to only run the update, event and cull traversals once and only call the render traversal for each snapshot. [/list] -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=45871#45871 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Rendering without calling osgViewer::frame
3. I don't know if this is related, but when adding my camera to the 3rd party app's osgViewer I am unable to change the color and depth buffer resolution. Calling setTextureSize and Camera::setViewport will seem to increase the size of the texture but the actual contents that get rendered are clipped at the origin. So if the original texture size was 512x512 and I increase it to 1024x1024, I get the lower left 256x256 area of the 512x512 image in the bottom left of the 1024x1024 image (blown up to 512x512) and the rest of the 1024x1024 image is blank. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=45872#45872 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] Community news: Remo 3D v2.2
Hi all, Just wanted to let you know that I recently added another community news item: http://www.openscenegraph.org/projects/osg/blog/remo2_2_released Once again, I'm trying to call for more frequent updating of the community news. I think it would be interesting for all to keep up-to-date with OSG-related projects and products out there, compiled into this convenient news list. Regards, Andreas ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Rendering without calling osgViewer::frame
On 02/28/2012 10:49 PM, Sean O'Connell wrote: I'm currently working on a project where I have to integrate library into a 3rd party application's source code. The library consists of a custom osg Camera that takes 9 snapshots of the user's scene. The headache's I've run into are the following: 1. I cannot seem to turn off the 3rd party app's main camera in the osgViewer class. I set nodeMask(0) on the camera but then my camera doesn't render. Having the main camera enabled adds unnecessary overhead. So it sounds like your application has a single camera on an osgViewer::Viewer, and you're adding 9 slaves to it to handle your rendering. Is that correct? I'm wondering if you couldn't just grab the app's main camera, replace it with another camera that doesn't render anything (making it the new master camera for the Viewer), and then add the app's camera back to the Viewer as a slave. Then, add your other 9 cameras as additional slaves. This way, you could disable the app's camera without affecting your 9 other cameras. No idea if this is feasible or not (if there are manipulators or other controls for the app's camera, you'd need to move those over to the new master camera... things like that). 2. The process of taking the 9 snapshots has additional overhead from having to re-process and re-run the update, event, cull and render traversals for each snapshot. Since each view orbits about the same point in space, I'd like the ability to only run the update, event and cull traversals once and only call the render traversal for each snapshot. Event and update only run once as it is. Cull has to be run either per camera or per context, because the cull traversal is what sets up the various render objects that do the actual rendering of each context. Each view is potentially different, and thus has a different set of geometry to render. If you have access to the Viewer, you can try different threading modes (such as CullThreadPerCameraDrawThreadPerContext) to adjust how culling is done. --J ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] GL_TRANSFORM_FEEDBACK_BUFFER_NV in OSG
On 02/29/2012 09:22 AM, Martin Großer wrote: Hello, I tried this in my camera draw callback: virtual void operator()(const osg::Camera camera) const { // GL-Context-ID GLuint gcID = _gc-getState()-getContextID(); // GL-Program-Handle osg::Program::PerContextProgram* pcp = _program-getPCP(gcID); GLuint prID=pcp-getHandle(); const char* varyings[1] = { vPosition }; glTransformFeedbackVaryings(prID, 1, varyings, GL_SEPARATE_ATTRIBS); } But when I want to compile this, I get the error glTransformFeedbackVaryings isn't defined. I searched in my includes and it is in the glext.h and glew.h defined. What is wrong? On Linux, you might need to #define GL_GLEXT_PROTOTYPES On Windows, you have to look up the function with wglGetProcAddress In both cases, it's generally a good idea to test for the extension first (OSG normally does for you in osg::GLExtensions). --J ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] OpenSceneGraph-3.1.0 dev release tagged
Hi Robert, I'm afraid I can't think of all the headline changes in 3.1, been a bit too long in coming I'm afraid - over six months since 3.0.1. Well, for one there's the new ViewDependentShadowMap which greatly improves shadow stability over the previous LightSpacePerspectiveShadowMap technique and also lays the foundation for better support for multiple shadow maps per light source and shadows cast by multiple light sources. (Thanks a lot for all your hard work on that technique once again) J-S -- __ Jean-Sebastien Guay jean_...@videotron.ca http://whitestar02.dyndns-web.com/ ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] animation from one projection type to the other one
Hello Gianluca, I think, and I'm not exactly sure about it that if the matrix W component (4th column) is zero, then the computation works with the 3x3 matrix. When it is different than zero, it uses it as 4x4 matrix. Now supposed that startProj or endProj has in the 4th column zero, and the other one has something different than zero, then all the animation matrices will be 4x4 but the first or the last, and therefore the reason on the discontinuity. Check if that happens for any N and check if both matrices are 4x4 or 3x3. If one of them is 3x3 than set it's 4th component to one. From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Gianluca Natale Sent: Wednesday, February 29, 2012 7:16 PM To: Osg Users Subject: [osg-users] animation from one projection type to the other one Hi all, I'm trying to implement an animation from a perspective projection to an orthographic one. What I'm computing at each step is a weighted linear combination of 2 projection matrices (the start, that refers to a perspective projection, and the end, which is an orthographic projection). So, supposing the whole animation in N steps, at step n my projection matrix is defined by: Proj(n) = startProjMat * (1 - n/N) + endProjMat * n/N. The animation looks fine, but in the last step there is a noticeable jump on the screen. What did I go wrong? Is there any unpredictable or invalid result in the linear combination I computed, or is it a well defined projection matrix? Thanks Gianluca ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org