Re: [osg-users] include conflict while compiling osg 2.9.11
robertosfield wrote: Hi Lv, I have now a couple experiments of including the X11 headers before includeDB/Serializer and adding your suggested addition to the osgviewerQt example and find that X11 either screws up lots of other OSG files or Qt headers. This isn't something that is wrong with wither OSG or Qt, but the way that X11 headers use common names used methods, typedefs and classes polluting any attempt of C++ files to use these. The C++ files might be good citizens and use namespaces so they don't polute third part code, but they can't protect themselves from pollution from C headers included before them. If you are going to use headers that pollute in an uncontrolled way like the X11 ones then you are left having to included them after any of the other headers that would be polluted by them. I would add that with the latest version of the OSG we now have a osgQt library with it's own GraphicsWindowQt that simplifies the process of integating the OSG and Qt so that you no longer need to play with window handles, so no need to go explictly include X11, so the proplem you are seeing right now is something you shouldn't need to come across. Robert. On Sat, May 7, 2011 at 4:55 PM, Lv Qing wrote: Hi, When I integrating my osg application into a QT application ,I found some include conflicting while using osg 2.9.11. /usr/local/include/osgDB/Serializer:640: error:expected unqualified-id before numeric constant /usr/local/include/osgDB/Serializer:640: error:expected `)' before numeric constant /usr/local/include/osgDB/Serializer:642: error:‘Setter’ undefined /usr/local/include/osgDB/Serializer:690: error:‘Setter’ undefined /usr/local/include/osgDB/Serializer: In constructor ‘osgDB::EnumSerializerC, P, B::EnumSerializer(const char*, P, P (C::*)()const, int)’: /usr/local/include/osgDB/Serializer:643: error class ‘osgDB::EnumSerializerC, P, B’ no ‘_setter’ /usr/local/include/osgDB/Serializer: In member function ‘virtual bool osgDB::EnumSerializerC, P, B::read(osgDB::InputStream, osg::Object)’: /usr/local/include/osgDB/Serializer:663: error:‘_setter’ undefined /usr/local/include/osgDB/Serializer:668: error:‘_setter’ undefined I dig a little up found it conflics when I include: #include osgViewer/api/X11/GraphicsWindowX11 typedef Window WindowHandle; typedef osgViewer::GraphicsWindowX11::WindowData WindowData; in osgviewerQT.cpp. I have faced some other include conflicting problems while using older osg version ,I have just changed the include order sever times to solve the problem.But this time change the order causing other conflicting wtih other application's code. woo~I know it's not something wrong with OSG, just need help. ... Thank you! Cheers, Lv -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39154#39154 ___ osg-users mailing list http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Post generated by Mail2Forum Hi, Thx ,Robert ! Never thought you do experiments yourself for me! I have already given up X11 and try osgviewerQtContext. However there is a new problem,when I run the osgviewerQtContext example,it seems OK in siglethread mode.When I set it to the ThreadPerCamera mode and resize the widget,it prints such error: QGLContext::makeCurrent(): Failed. After a few times resizing,it crashed and prints: Xlib: unexpected async reply (sequence 0x0)! X Error: 0 0 Major opcode: 0 () Resource id: 0x0 X Error: 0 0 Major opcode: 0 () Resource id: 0x0 Is it because osgviewerQtContext do not support muti-threading yet? Or is there a better way? THX! -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39182#39182 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] osgText::Text character spacing
Hi Thorsten, On Sun, May 8, 2011 at 6:49 PM, Thorsten Brehm bre...@gmail.com wrote: Yes, it's the font which makes the difference! We're using txf font files - not freetype. None of our txf fonts works with =r12068. Maybe our files are broken somehow, and don't supply the required kerning info. But I suspect that it's rather the TXFFont plugin itself which requires an update. The freetype plugin was adapted as part of changeset 12068, but TXFFont wasn't touched since. For example, TXFFont::getKerning just returns (0,0). And it never calls any of the new Glyph::setWidth/setHeight methods. I guess that's the likely cause? Good news, it does rather sound like it's a problem with the txf plugin that hasn't been updated correctly to handle the revisions to osgText. Could you send me an example txf file so that I can test it at my end. Thanks, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Override override?
Hi Anders, If you want to protect an child's state from being override from above you use the PROTECTED mode. Robert. On Mon, May 9, 2011 at 3:12 AM, Anders Backman ande...@cs.umu.se wrote: Hi. Guess I been away from OSG a bit too long. I have a pretty simple question. Assume I have a renderstate which I set to a group (lets call it PARENT) far up in the tree close to the root, this state set some default look, with shadows, texture and diffuse color. It has on|override|protected to make everything in the scene to get this look. Now assume I want to read in a file (in this case an obj file) into the same tree (child PARENT). The material in the obj file SHOULD now be used. So I want to override an overridden material. What is the best way of achieving that, assuming I want everything from the parent (shadows, lights) to be used, EXCEPT for any material stuff in the obj file. Do I have to load the file, traverse down until I find a state, see if it has a material attribute, set it to on|protected|override? Or is there any other way of saying, ok, down to this node, we have been using the material set from the root (PARENT), but it will stop here. From this node down, anything specified (even without OVERRIDE,PROTECTED), will be used. Cheers, Anders -- __ Anders Backman, HPC2N 90187 Umeå University, Sweden and...@cs.umu.se http://www.hpc2n.umu.se Cell: +46-70-392 64 67 ___ 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] OpenSceneGraph-2.9.14 developer version released
Hi All, Yesterday I tagged the 2.9.14 developer release. Main changes are merging of pending submissions and fixes that address issues reported from a Coverity analysis of the OSG codebase. Download page for developer releases: http://www.openscenegraph.org/projects/osg/wiki/Downloads/DeveloperReleases source: http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-2.9.14.zip svn tag: svn co http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.9.14 OpenSceneGraph Thanks to all those who have contributed code and done testing, Robert. ChangeLog since 2.9.13: 2011-05-06 16:46 robert * include/osgDB/Registry, src/osgDB/Registry.cpp: Added osg::ref_ptrosgDB::Archive osgDB::Registry::getRefFromArchiveCache() and osg::ref_ptrosgDB::Object osgDB::Registry::getRefFromObjectCache(). 2011-05-06 12:32 robert * include/osgUtil/SceneGraphBuilder: Removed trailing spaces 2011-05-06 12:30 robert * include/osgUtil/PolytopeIntersector: Fixed Coverity reported issue. CID 11828: Uninitialized scalar field (UNINIT_CTOR) Non-static class member distance is not initialized in this constructor nor in any functions that it calls. Non-static class member maxDistance is not initialized in this constructor nor in any functions that it calls. Non-static class member numIntersectionPoints is not initialized in this constructor nor in any functions that it calls. Non-static class member primitiveIndex is not initialized in this constructor nor in any functions that it calls. 2011-05-06 12:30 robert * include/osgVolume/Property: Moved constructor implementation into .cpp 2011-05-06 12:27 robert * src/osgVolume/Property.cpp: Fixed Coverity reported issue. CID 11838: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _alphaFuncKey is not initialized in this constructor nor in any functions that it calls. Non-static class member _cyleBackwardKey is not initialized in this constructor nor in any functions that it calls. Non-static class member _cyleForwardKey is not initialized in this constructor nor in any functions that it calls. Non-static class member _sampleDensityKey is not initialized in this constructor nor in any functions that it calls. Non-static class member _transparencyKey is not initialized in this constructor nor in any functions that it calls. Non-static class member _updateAlphaCutOff is not initialized in this constructor nor in any functions that it calls. Non-static class member _updateSampleDensity is not initialized in this constructor nor in any functions that it calls. Non-static class member _updateTransparency is not initialized in this constructor nor in any functions that it calls. 2011-05-06 12:26 robert * src/osgUtil/PolytopeIntersector.cpp: Fixed Coverity reported issue. CID 11827: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _plane_mask is not initialized in this constructor nor in any functions that it calls. 2011-05-06 12:25 robert * src/osgUtil/PlaneIntersector.cpp: Fixed Coverity reported issue. CID 11826: Uninitialized scalar field (UNINIT_CTOR) Class member declaration for _recordHeightsAsAttributes. 2011-05-06 12:25 robert * src/osgUtil/Simplifier.cpp: Fixed Coverity reported issue. CID 11830: Uninitialized pointer field (UNINIT_CTOR) Non-static class member _geometry is not initialized in this constructor nor in any functions that it calls. 2011-05-06 12:24 robert * src/osgUtil/IntersectVisitor.cpp: Fixed Coverity reported issue. CID 11825: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _primitiveIndex is not initialized in this constructor nor in any functions that it calls. Non-static class member _ratio is not initialized in this constructor nor in any functions that it calls. CID 11824: Uninitialized scalar field (UNINIT_CTOR) Non-static class member _hit is not initialized in this constructor nor in any functions that it calls. Non-static class member _index is not initialized in this constructor nor in any functions that it calls. Non-static class member _length is not initialized in this constructor nor in any functions that it calls. Non-static class member _ratio is not initialized in this constructor nor in any functions that it calls. 2011-05-06 12:23 robert *
[osg-users] getting position and orientation of subobjects in Node Callback traversal
Hi, here the situation i am using using blender to make my 3d scene i represent the trees with green cubes : with names like : tree, tree.001, tree.002, etc the cessana airplanes are represented by white cubes and so on for all the repetitive scene objects next in my osg application i am using a find node callback visitor based on the name to replace the cubes with real 3d objects and put them in a pagedlod node tha problem is how to get the position,orientaion of these various objects during traversal to position the real 3d models correctelly thanks and good day -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39186#39186 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [osgPlugins] Error compiling fbx plugin
I've now updated http://www.openscenegraph.org/projects/osg/wiki/Support/UserGuides/Pluginsto give the definitive answer on this. In summary: OpenSceneGraph 2.8.x - FBX 2010.2 OpenSceneGraph 2.9.x - Whatever FBX version it tells you in ReaderWriterFBX.h, latest is 2012.1 On 5 May 2011 01:24, tim paige tim.pa...@cox.net wrote: Hi, I too have had these same kinds of problems with the FBX SDK... I got the sdk from Autodesk and found those same kinds of complaints... like this function is not a member of so and so... and yes... they do indeed play games with the members of certaiin classes (they can't make up their minds about where to house certain funtional capabilities). I read one comment regarding the software you love to hate due to their uncompassionate departures from maintaining backwards compatibility... but then again, we sometimes complain about the problems maintaining backwards compatibility can cause --- So... the next time i downloaded a different SDK, I downloaded them all from the top down into separate version directories to within a reasonable time period given what had worked with osg before. I went through three iterations starting with the most recent FBS SDK and merely changed the references to the include files until I got a hit (meaning membership was finally matching the class of interest) and then followed through to change library files and such to the appropriate SDK. I am using 2.9.11 and sometimes 13, and I had to go backwards (with the FBX SDK (2.11.3.1)) until compatibility occurred. Cheers, tim -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39015#39015 ___ 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] Fine-grained render ordering
Hi, is the render order index another option? This is the index that Camera::SetRenderOrder() takes as the second parameter. For instance if you place camera C in PreRender with index -1 and sibling A and B in PreRender with a greater index, I think you should get what you're after. Ricky On Sat, May 7, 2011 at 13:40, Sergey Polischuk pol...@yandex.ru wrote: Hi, Craig Will C be rendered twice? - yes Would it work to make C a child of A only, with A PRE_RENDER and B POST_RENDER? - yes You could also use linear structure like A - B - C Cheers, Sergey. 06.05.2011, 17:55, Craig S. Bosma craig.bo...@gmail.com: Sergey, Thanks, that's been very helpful. I have some other questions though: suppose you have a graph with camera C, a child of sibling cameras A B, e.g. A - C B - C Will C be rendered twice? If so, how would one make C render first, then render each of A, B with the output textures of C? Would it work to make C a child of A only, with A PRE_RENDER and B POST_RENDER? Thanks, Craig On Tuesday, May 3, 2011 at 2:30 AM, Sergey Polischuk wrote: Sent incomplete message by accident :) Example : camera1 - camera2(prerender) - camera4(prerender) - camera3(postrender) render order will be camera4 (rendered first), camera2, camera3, camera1(rendered last) Cheers, Sergey. 03.05.2011, 11:28, Sergey Polischuk pol...@yandex.ru: Hi, Craig When you have nested cameras they work like nested render stages. All cameras under another camera node will render just before or just after (depending on render order set on camera) rendering parent camera. With that in mind you can build hierarchy that suits your purposes. Example : camera1 - camera2 02.05.2011, 16:17, Craig S. Bosma craig.bo...@gmail.com;: Will the same technique work with a third camera C? Sent from my iPhone On Apr 28, 2011, at 11:06 AM, Sergey Polischuk pol...@yandex.ru wrote: Hi, Craig In your example, put camera A as child of B with render order on camera A set to prerender. Cheers, Sergey. 27.04.2011, 18:38, Craig S. Bosma craig.bo...@gmail.com: Robert, Thanks for pointing out the TraversalOrderBin, I wasn't aware of that. However, I'm still a little unclear on how that might help for my use. Suppose I have a scene with with a root Group node and two child Camera Nodes, A and B. Suppose both render to a texture via FBO, and that B needs A's texture output. If I put the root node in the TraversalOrderBin, would that guarantee that camera A is rendered completely before camera B? What if A instead were a child of B? Thanks, Craig On Tuesday, April 26, 2011 at 5:01 AM, Robert Osfield wrote: Hi Craig, The best way to manage render bin is vis State::setRenderBinDetails(), and in the 2.9.x dev series you can now select a render bin that sorts on traversal order of a subgrpah which makes some techniques easier - use the RenderBin string TraversalOrderBin to select this bin. If you want to create and chain RenderStages then using an osg::Camera in the scene graph is often one of the best ways to do this, and use the Camera::setRenderOrder(..) to control the order. You can also use a custom cull traversal callback to create RenderStage/RenderBin and assign these to the rendering backend, but this does require a greater knowledge of the internals of the rendering backend. Robert. On Fri, Apr 22, 2011 at 9:52 PM, Craig S. Bosma craig.bo...@gmail.com craig.bo...@gmail.com wrote: Hi, I'm working on a shader-driven graphics pipeline for an OSG-based app, and I want to better understand how I can better control the rendering order. I want to render my initial scene to several texture targets, with opaque and transparent objects handled separately. Currently I do this using node masks, but from this thread ( http://forum.openscenegraph.org/viewtopic.php?t=2374 http://forum.openscenegraph.org/viewtopic.php?t=2374) it seems like it would be better to use renderbin/renderstages. I have several more post-processing stages to follow, so I'm convinced that's the way to go for me to have full control over the pipeline. I've dug into the source for SceneView, RenderBin, RenderStage, etc. but it's not obvious to me how to shift objects from one bin to another (aside from setRenderBinDetails), or how to add stages that form a dependency chain. If anyone has examples or general advice on where to look, I'd be glad to hear it. Thanks, Craig ___ osg-users mailing list osg-users@lists.openscenegraph.orgosg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.orgosg-users@lists.openscenegraph.org
Re: [osg-users] Manual perspective distortion?
Good morning everyone, I hope everyone of you had a nice and enjoyable weekend? Here in Germany it was brilliant weather, in addition, yesterday was mother's day so we had a very enjoyable time with the family - hope the same for you! :) Anyways - first off, thank you all very much for your answers. Torben, I did read into your code on Friday and, from a first glance at it, it seems like a possible solution for the problem. I think the perfect way to create that matrix would be by using a camera and creating the distortion pixel map by analysing the offset dynamically via the camera image. It's a quite complex way to do it, but the result should be quite good - however, if I can't find a student to write his bachelor thesis on that, I fear there won't be resources available to do it ;) Shayne, thank you very much - the links you offered perfectly describe the issues I'm dealing with. If I understand you right, I am already tweaking the frustum to calibrate the viewing area by using setProjectionMatrixAsFrustum(left, right, bottom, top, near, far); . The problem with this method is that by using each of those parameters I can only move an entire border of the projection area - so the entire left, right, bottom or top border of the frustum. This allows me to adjust the frustum such that it does fit into the projection screen; however, it does not help at all against the distortion in the image. To do so, I had to be able to move the corners of the frustum individually, and that's something I don't quite know how to do it. I'll read into the paper more deeply and will let you know if it could help me any further. Have a great start in the new week! -Alex -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39189#39189 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Manual perspective distortion?
Hi aeonsan, on which university you are working? Yes, the weekend was great: blue sky, sun, warm winds in the mountains an mountainbike between my feet - it was like holiday :) Good luck with your investigation, I'm interested in your findings! warm regards from Salzburg, AT, Torben -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39190#39190 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Manual perspective distortion?
Hi JP, Hi aeonsan this tool is no longer maintained and quite buggy. Once I had contact to the author as I started my project but as I tried to mail him my improvements at the end all attempts failed to contact him. After some weeks I decided to continue the hosting and published ProjectionDesigner 1.15 ( his last version was 1.1) you can find it on osgvisual.org (Techniqually its the same as 1.10 with a lot currected bugs - anyway it's still very buggy.) The output of ProjectionDesigner is a distortion map you can use with the distortion module of osgvisual (that module can be used for any osg project) Cheers, Torben -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39192#39192 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] large VBOs for multiple Drawables
Paul Martz wrote: On 5/6/2011 4:05 AM, Fred Smith wrote: You usually want to create GL batches that are as large as possible. 10 draw calls of 100 elements will be slower than 1 draw call of 1000 elements. Something else I have noticed a little while ago was that the stateset processing engine of OSG might be slow. One thing I have been surprised with was the performance with a scene graph containing just empty statesets on drawables vs. no stateset at all. Just having empty statesets decreases perf quite a bit, eg. just by calling getOrCreateStateSet. osgWorks.google.com contains the CountStateSets visitor, which will remove empty StateSets, just for this reason. -Paul OSG is a great piece of code, don't get me wrong - but I see a weakness here. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39193#39193 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] getting position and orientation of subobjects in Node Callback traversal
From the visitor, you can call: osg::computeLocalToWorld( getNodePath() ) This will give you the absolute positioning matrix of the node you are visiting. Glenn Waldron / Pelican Mapping / @glennwaldron On Mon, May 9, 2011 at 4:57 AM, issam boughanmi amigof...@gmail.com wrote: Hi, here the situation i am using using blender to make my 3d scene i represent the trees with green cubes : with names like : tree, tree.001, tree.002, etc the cessana airplanes are represented by white cubes and so on for all the repetitive scene objects next in my osg application i am using a find node callback visitor based on the name to replace the cubes with real 3d objects and put them in a pagedlod node tha problem is how to get the position,orientaion of these various objects during traversal to position the real 3d models correctelly thanks and good day -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39186#39186 ___ 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] Looking at OSGExp and maya2osg (3dsmax and Maya export plugins)
Hi Farshid, 1) Adding prefix/suffix to image filename. I believe this is the easiest method. The filename will be applied to the exported osg::Image object. For example, you can append _[normal] to all normal map images. I think this is a bit too intrusive. The artist should be able to name their images however they want... 2) Adding tags to the material name. Using the Material Editor in Max, you can set the name of a material to any arbitrary string. The name will be applied to the corresponding osg::StateSet and osg::Drawable object. I'm thinking of changing this so it is only applied to the osg::StateSet object. Using the previous example, you can append _[normal] to the material name to flag that it contains a normal map. That's a better idea I think. And then on load, when we have interpreted the file and determined we need to load the normal map, we can remove the suffix so that the real name is there again. 3) Modifying the object properties. I wouldn't recommend this technique for material related settings. We use it for node related settings. Right-click an object in the scene and select Object Properties. Select the User Defined tab and enter any mult-line string within the textbox. This gets exported as a description string of the corresponding osg::Node object. Do even materials have user defined object properties? If so, then I think this is the best option for all settings, as it can be arbitrary settings and arbitrary length. For example, the exporter might want to set a tag saying that the material needs a normal map, but also include the filename of the normal map texture and the amount of bump. Other types of effects might have other settings too. Including all that in the material name will get hard to parse, whereas with user defined properties, we could have one setting per line and it's easy to parse. I'll have a look at what I can do to do that. Thanks for the examples. J-S -- __ Jean-Sebastien Guayjean-sebastien.g...@cm-labs.com http://www.cm-labs.com/ 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] Looking at OSGExp and maya2osg (3dsmax and Maya export plugins)
Hi Javier, I have to get deeper in this issue, but unfortunately I won't have much time for it. I'll let you know if I get to something. I've found out what the problem is: When the Phong class tries to generate a shader code block ( Phong::getCodeBlock() ), if the material was actually a Blinn, then it has no cosinePower plug, so it gives a runtime error there. For some reason when the plugin is compiled with optimization enabled, when printing that runtime error it crashes. I'll fix it correctly and send you the changes. I initially didn't want to duplicate the Phong class to make a Blinn class for so little difference between the two, but in retrospect it will be cleaner. Thanks, J-S -- __ Jean-Sebastien Guayjean-sebastien.g...@cm-labs.com http://www.cm-labs.com/ 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] [osgPlugins] Error compiling fbx plugin
Hi Michael, i have installed fbx sdk 2010.2 and i'm using openscenegraph 2.8.4 But, unfortunally, i have the same error during compile time : ..\..\..\..\src\osgPlugins\fbx\ReaderWriterFBX.cpp(233) : 'fbxsdk_201002::KFbxImporter::Initialize' : no overloaded function takes 2 arguments Maybe, i'm doing something wrong, but i don't understand what. Andrea -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39198#39198 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] large VBOs for multiple Drawables
On 5/9/2011 5:49 AM, Fred Smith wrote: OSG is a great piece of code, don't get me wrong - but I see a weakness here. What, exactly, does that mean? -- Chris 'Xenon' Hanson, omo sanza lettere. xe...@alphapixel.com http://www.alphapixel.com/ Digital Imaging. OpenGL. Scene Graphs. GIS. GPS. Training. Consulting. Contracting. There is no Truth. There is only Perception. To Perceive is to Exist. - Xen ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] large VBOs for multiple Drawables
It means that there seems to be a cost in doing state changes with OSG. GL state changes do not necessarily incur any cost - this is implementation specific anyway - whereas OSG state changes seem to always incur one, as even going through empty statesets does incur a cost. Is that clear enough for you? -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39204#39204 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] [forum] problems with saving output in stereo mode
Hi ! I'm working on a project in which I want to render side-by-side video with some other stereo objects. And later reproduce this on a stereo TV. I'm using a decklink card to capture and playback the final scene. The problem I'm finding is that I cannot save the final scene in stereo mode in my m_frameBuffer, I only get an output of a non-stereo configuration. osg::ref_ptr osg::Camera _Camera = new osg::Camera(); Camera -attach(osg::Camera::COLOR_BUFFER, m_frameBuffer); while( !viewer.done() ) { viewer.frame(); sprintf(_str, image.png); osgDB::writeImageFile(*m_frameBuffer, std::string(_str)); } where should I define the osg::DisplaySettings-setStereo(true) to my viewer or to my _Camera, both ? I'm quite messed up, any ideas in what might I be doing wrong? Thanks a lot in advance! -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39205#39205 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] large VBOs for multiple Drawables
Hi Fred, On Mon, May 9, 2011 at 3:42 PM, Fred Smith osgfo...@tevs.eu wrote: It means that there seems to be a cost in doing state changes with OSG. Indeed there is!! It's written to be lightweight, using pointer rater than content comparisons where possible, but you can't ever disappear CPU cycles completely. This work that the OSG does on state is to minimize the number of state changes sent to OpenGL, so while there is a higher CPU cost, the GPU cost is lower. GL state changes do not necessarily incur any cost - this is implementation specific anyway - whereas OSG state changes seem to always incur one, as even going through empty statesets does incur a cost. Some GL state changes are relatively lightweight, but since any GL call overhead itself is not cheap, avoid GL calls is worth the effort, and some GL state changes are hugely expensively. The OSG does state sorting and lazy state updating to make sure that the graphics is sent to the GPU as efficiently as it can. As for empty StateSets, the OSG during traversal doesn't know a StateSet is empty until it checks it contents, do so waste time of course, but there is nothing the OSG can do during traversal to avoid this. However, an empty StateSet is a indication of very poorly set up scene graph. Efficient scene graph don't have rendundent StateSet or Node's in the scene graph, the osgUtil::Optimizer contains are plarethora of visitors to help condition poorly balanced scene graphs, so if you do have a problem scene graph the Optimizer is a great tool to utilize as a pre-processing step. Performance problems that end users see are almost always caused by scene graphs that are poorly constructed for the purpose that have been created for, so if you see high update, cull and draw dispatch and draw GPU investigate the bottlenecks with a view to understanding what in your scene graph is introducing the large overheads. The skill of creating an optimal scene graph isn't a trivial one though, it's one of the core skills for real-time graphics experts to develop, a skill that takes many years to mature. I am still a learning, and don't really every expert to stop learning about this as technology continues to evolve at a break-neck speed. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Looking at OSGExp and maya2osg (3dsmax and Maya export plugins)
Hi Javier, In the end, the fact that the shader generation code in phong.cpp was trying to access a plug that didn't exist for a blinn material wasn't the cause of the crash (the code is well guarded so it just returns an empty plug). Plus, that plug is never used anyways (the gl_FrontMaterial.shininess is used, and that was set according to my approximation in shader.cpp, so that should be fine). Still, I made the Blinn class anyways so it's a starting point if we ever want to refine it. What I did to remove the crash (at least until we can find the real cause) is to disable optimization for the function where it crashes. I also saw that one of the plugs was missing in phong.cpp, and even if it's empty, for completeness I added it. So find the modified files attached. They all go in src/GLSL, except the CMakeLists.txt which goes into the root. Thanks in advance, J-S -- __ Jean-Sebastien Guayjean-sebastien.g...@cm-labs.com http://www.cm-labs.com/ http://whitestar02.dyndns-web.com/ #Maya2OSG - A toolkit for exporting Maya scenes to OpenSceneGraph #Copyright (C) 2010 Javier Taibo javier.ta...@gmail.com # #This file is part of Maya2OSG. # #Maya2OSG is free software: you can redistribute it and/or modify #it under the terms of the GNU General Public License as published by #the Free Software Foundation, either version 3 of the License, or #(at your option) any later version. # #Maya2OSG is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. # #You should have received a copy of the GNU General Public License #along with Maya2OSG. If not, see http://www.gnu.org/licenses/. # # Thanks to Diego/ScEngMan for some hints on the creation of this CMake script # # http://area.autodesk.com/forum/autodesk-maya/sdk/build-maya-plug-ins-using-cmake-40a-howto41 # http://crackart.org/wiki/HowTo/CMakeForMaya CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(Maya2OSG) list( APPEND CMAKE_MODULE_PATH ${Maya2OSG_SOURCE_DIR}/CMakeModules ) SET(VERSION_MAJOR 0) SET(VERSION_MINOR 4) SET(VERSION_RELEASE 2) SET(VERSION_PATCH c) # Platform specific definitions IF(WIN32) IF(MSVC) # To enable /MP, parralel build on MSVC OPTION(WIN32_USE_MP Set to OFF to diable /MP. ON) MARK_AS_ADVANCED(WIN32_USE_MP) IF(WIN32_USE_MP) SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} /MP) ENDIF(WIN32_USE_MP) # Other MSVC compilation flags ADD_DEFINITIONS(-D_SCL_SECURE_NO_WARNINGS) ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE) ENDIF(MSVC) ENDIF (WIN32) # Set the Maya version and architecture (default values) SET(MAYA_VERSION 2011 CACHE STRING Maya Version) SET(MAYA_ARCH x64 CACHE STRING HW Architecture) IF(WIN32) SET( MAYA_USER_DIR $ENV{USERPROFILE}/Documents/maya CACHE PATH Maya user home directory ) SET( MAYA_ROOT $ENV{PROGRAMFILES}/Autodesk/Maya${MAYA_VERSION} CACHE PATH Maya installation directory ) SET( MAYA_SDK_DEFINITIONS _AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM ) ELSE() SET( MAYA_USER_DIR $ENV{HOME}/maya CACHE PATH Maya user home directory ) SET( MAYA_ROOT /usr/autodesk/maya${MAYA_VERSION}-${MAYA_ARCH} ) ENDIF() SET( MAYA_HEADERS_DIR ${MAYA_ROOT}/include ) SET( MAYA_LIBRARY_DIR ${MAYA_ROOT}/lib ) IF (EXISTS $ENV{MAYA_PLUG_IN_PATH}) SET ( MAYA_PLUGINS_DIR $ENV{MAYA_PLUG_IN_PATH} CACHE PATH Maya plug-in installation directory ) ELSE () SET( MAYA_PLUGINS_DIR ${MAYA_ROOT}/bin/plug-ins CACHE PATH Maya plug-in installation directory ) ENDIF () FIND_PACKAGE(OpenGL) include( FindOSGHelper ) # Set all postfixes to nothing so we can compile other versions and they will # be loaded instead of the release version by Maya. SET(CMAKE_DEBUG_POSTFIX ) SET(CMAKE_RELWITHDEBINFO_POSTFIX ) SET(CMAKE_MINSIZEREL_POSTFIX ) SET ( LOCAL_WARNING_FLAGS /W3 ) SET ( LOCAL_RTTI_FLAGS /GR ) SET(CMAKE_INSTALL_PREFIX ${MAYA_PLUGINS_DIR}) SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) SET ( TARGET maya2osg ) SET ( SOURCE_FILES src/animation.cpp src/animation.h src/camera.cpp src/camera.h src/cameraanimation.cpp src/cameraanimation.h src/common.cpp src/common.h src/config.cpp src/config.h src/dagnode.cpp src/dagnode.h src/directionallight.cpp src/directionallight.h
Re: [osg-users] large VBOs for multiple Drawables
Hi Robert, The stateset performance issue, if ever encountered, can easily be worked around with a draw callback using applyAttribute/applyTextureAttribute prior to rendering every drawable. This is a very slim point where there might be room for improvement, and what you said perfectly makes sense to me. OSG is a library that I like getting familiar with, kudos to you and the community for all the good work. Best, Fred -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39209#39209 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] osgText::Text character spacing
Hi Robert, On 09.05.2011 09:28, Robert Osfield wrote: Good news, it does rather sound like it's a problem with the txf plugin that hasn't been updated correctly to handle the revisions to osgText. Could you send me an example txf file so that I can test it at my end. Oh, of course, that's our main font: http://www.gitorious.org/fg/fgdata/blobs/raw/958c11a1b8e67c24035c19d2ef75aeeec387c58b/Fonts/Helvetica.txf Plenty more txf fonts available here: http://www.gitorious.org/fg/fgdata/trees/master/Fonts cheers, Thorsten ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] OpenGL 3.0 support
Hi folks, There may be a simple answer to this question but how do you successfully compile osg 2.9.* with OpenGL 3.0 support? I'm getting undefined functions, such as glLoadMatrixf. -B --- Brad Colbert Renaissance Sciences Corporation (480) 374-5073 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] How to know when paged scene is loaded
Hi, I would like to know if there is any way to get a callback or something when a paged scene is finished loading. My scene (terrain) is paged from disk and when i move my camera it will take some time to page in all the geometry and so on. What would be the best way to check when all geometry are finished loading ? I know there are some kind of queue system on what files to load when working with paged files. Could i for example check that, and when the queue is empty, i could assume that everything is loaded ? Or is there already some mechanism in osg for this ? If someone could point me in the right direction, i would be very happy! :) Thank you! Cheers, Lars Ivar -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39203#39203 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] About VBO in OSG
Hi, every: I am very confused with the VBO in osg. what is the euqal funcs to the codes followed in OSG? glGenBuffers(1, vboID); glBindBuffer(GL_ARRAY_BUFFER, *vboID); // initialize buffer object unsigned int size = mesh_width * mesh_height * typeSize; glBufferData(GL_ARRAY_BUFFER, size, 0, GL_DYNAMIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0); I want to specify and use the vboID, but I dont know how to get the number. Thank you very much for your any reply ... Thank you! Cheers, shl -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39081#39081 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] [3rdparty] OSG C#
Hi, Does anyone have experience with using OpenSceneGraph in a C# environment? Thank you! Cheers, Sander -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38802#38802 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [3rdparty] OSG C#
On 4/27/2011 1:50 AM, Sander Lan wrote: Does anyone have experience with using OpenSceneGraph in a C# environment? http://forum.openscenegraph.org/viewtopic.php?t=3686 I'm pursuing a slightly different approach in a .NET application I'm interfacing with right now, but I won't have any info to share until after it's done and we know if it works. ;) -- Chris 'Xenon' Hanson, omo sanza lettere. xe...@alphapixel.com http://www.alphapixel.com/ Digital Imaging. OpenGL. Scene Graphs. GIS. GPS. Training. Consulting. Contracting. There is no Truth. There is only Perception. To Perceive is to Exist. - Xen ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Override override?
Yes,, which means I have to traverse down and protect any StateSet which I found in the subgraph... Ok, thats what I though. /A On Mon, May 9, 2011 at 9:31 AM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Anders, If you want to protect an child's state from being override from above you use the PROTECTED mode. Robert. On Mon, May 9, 2011 at 3:12 AM, Anders Backman ande...@cs.umu.se wrote: Hi. Guess I been away from OSG a bit too long. I have a pretty simple question. Assume I have a renderstate which I set to a group (lets call it PARENT) far up in the tree close to the root, this state set some default look, with shadows, texture and diffuse color. It has on|override|protected to make everything in the scene to get this look. Now assume I want to read in a file (in this case an obj file) into the same tree (child PARENT). The material in the obj file SHOULD now be used. So I want to override an overridden material. What is the best way of achieving that, assuming I want everything from the parent (shadows, lights) to be used, EXCEPT for any material stuff in the obj file. Do I have to load the file, traverse down until I find a state, see if it has a material attribute, set it to on|protected|override? Or is there any other way of saying, ok, down to this node, we have been using the material set from the root (PARENT), but it will stop here. From this node down, anything specified (even without OVERRIDE,PROTECTED), will be used. Cheers, Anders -- __ Anders Backman, HPC2N 90187 Umeå University, Sweden and...@cs.umu.se http://www.hpc2n.umu.se Cell: +46-70-392 64 67 ___ 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 -- __ Anders Backman, HPC2N 90187 Umeå University, Sweden and...@cs.umu.se http://www.hpc2n.umu.se Cell: +46-70-392 64 67 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Get all vertices of a node
I have edited my code a little bit. But the problem still exists. There are a lot of triangle and quads which have 2 oder 3 equal points. One Example: Code: 2011-May-09 21:29:19.180909 notification -42.5113, 37.4068, 16.453 2011-May-09 21:29:19.190909 notification -42.5113, 37.4068, 16.453 2011-May-09 21:29:19.190909 notification -42.5113, 35.8931, 23.5304 2011-May-09 21:29:19.210909 notification -42.5113, 42.9705, 25.044 2011-May-09 21:29:19.600910 notification 20.638, -20.3263, 23.5595 2011-May-09 21:29:19.610910 notification 20.638, 2.92978, 23.5595 2011-May-09 21:29:19.620910 notification 20.638, 2.92981, 0.30339 2011-May-09 21:29:19.630910 notification 20.638, 2.92981, 0.30339 Here is my new code: Code: void SoundManager::addGeometry( osg::Geometry *geom, osg::Matrix *matrix ) { FMOD_RESULT result; osg::Vec3d point; FMOD_VECTOR pos = {0.0, 0.0, 0.0}; osg::Vec3Array *vertices = dynamic_castosg::Vec3Array*(geom-getVertexArray()); osg::Geometry::PrimitiveSetList primitiveList = geom-getPrimitiveSetList(); int polygonIndex = 0; for(int x = 0; x primitiveList.size(); x++) { osg::PrimitiveSet *set = primitiveList[x]; FMOD_VECTOR *vector = (FMOD_VECTOR *)malloc(sizeof(FMOD_VECTOR) * set-getNumIndices()); FMOD::Geometry *geometry = NULL; int mode = 1; if (set-getMode() == osg::PrimitiveSet::Mode::TRIANGLES) { mode = 3; } else if (set-getMode() == osg::PrimitiveSet::Mode::QUADS) { mode = 4; } else if (set-getMode() == osg::PrimitiveSet::Mode::POLYGON) { mode = set-getNumIndices(); } result = _system-createGeometry(set-getNumIndices() / mode, vertices-size(), geometry); ERRCHECK(result); for(int y = 0; y set-getNumIndices(); y++) { for(int z = 0; z mode; z++) { point = osg::Vec3d((* vertices)[set-index(y)].x(), (* vertices)[set-index(y)].y(), (* vertices)[set-index(y)].z()) * (*matrix); vector[z].x = point.x(); vector[z].y = point.y(); vector[z].z = point.z(); y++; I3D_LOG(notification) vector[z].x , vector[z].y , vector[z].z; } I3D_LOG(notification) ; result = geometry-addPolygon(0.9, 0.9, true, mode, vector, polygonIndex); ERRCHECK(result); } } } Can someone give me a little hint, where the error could be? Thank you very much! -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39219#39219 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Looking at OSGExp and maya2osg (3dsmax and Maya export plugins)
Hi J-S, On Mon, May 9, 2011 at 5:15 PM, Jean-Sébastien Guay jean-sebastien.g...@cm-labs.com wrote: In the end, the fact that the shader generation code in phong.cpp was trying to access a plug that didn't exist for a blinn material wasn't the cause of the crash (the code is well guarded so it just returns an empty plug). Plus, that plug is never used anyways (the gl_FrontMaterial.shininess is used, and that was set according to my approximation in shader.cpp, so that should be fine). Still, I made the Blinn class anyways so it's a starting point if we ever want to refine it. What I did to remove the crash (at least until we can find the real cause) is to disable optimization for the function where it crashes. I also saw that one of the plugs was missing in phong.cpp, and even if it's empty, for completeness I added it. Great! Thanks for the corrections. Submitted to svn/trunk. So find the modified files attached. They all go in src/GLSL, except the CMakeLists.txt which goes into the root. Do you know of an easy way for CMake to create the folders (e.g., GLSL) inside the Visual Studio project source tree? Cheers! -- Javier Taibo ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Looking at OSGExp and maya2osg (3dsmax and Maya export plugins)
Hi Javier, Great! Thanks for the corrections. Submitted to svn/trunk. Thanks! Do you know of an easy way for CMake to create the folders (e.g., GLSL) inside the Visual Studio project source tree? See the attached file. :-) Hope this helps, J-S -- __ Jean-Sebastien Guayjean-sebastien.g...@cm-labs.com http://www.cm-labs.com/ http://whitestar02.dyndns-web.com/ #Maya2OSG - A toolkit for exporting Maya scenes to OpenSceneGraph #Copyright (C) 2010 Javier Taibo javier.ta...@gmail.com # #This file is part of Maya2OSG. # #Maya2OSG is free software: you can redistribute it and/or modify #it under the terms of the GNU General Public License as published by #the Free Software Foundation, either version 3 of the License, or #(at your option) any later version. # #Maya2OSG is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. # #You should have received a copy of the GNU General Public License #along with Maya2OSG. If not, see http://www.gnu.org/licenses/. # # Thanks to Diego/ScEngMan for some hints on the creation of this CMake script # # http://area.autodesk.com/forum/autodesk-maya/sdk/build-maya-plug-ins-using-cmake-40a-howto41 # http://crackart.org/wiki/HowTo/CMakeForMaya CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(Maya2OSG) list( APPEND CMAKE_MODULE_PATH ${Maya2OSG_SOURCE_DIR}/CMakeModules ) SET(VERSION_MAJOR 0) SET(VERSION_MINOR 4) SET(VERSION_RELEASE 2) SET(VERSION_PATCH c) # Platform specific definitions IF(WIN32) IF(MSVC) # To enable /MP, parralel build on MSVC OPTION(WIN32_USE_MP Set to OFF to diable /MP. ON) MARK_AS_ADVANCED(WIN32_USE_MP) IF(WIN32_USE_MP) SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} /MP) ENDIF(WIN32_USE_MP) # Other MSVC compilation flags ADD_DEFINITIONS(-D_SCL_SECURE_NO_WARNINGS) ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE) ENDIF(MSVC) ENDIF (WIN32) # Set the Maya version and architecture (default values) SET(MAYA_VERSION 2011 CACHE STRING Maya Version) SET(MAYA_ARCH x64 CACHE STRING HW Architecture) IF(WIN32) SET( MAYA_USER_DIR $ENV{USERPROFILE}/Documents/maya CACHE PATH Maya user home directory ) SET( MAYA_ROOT $ENV{PROGRAMFILES}/Autodesk/Maya${MAYA_VERSION} CACHE PATH Maya installation directory ) SET( MAYA_SDK_DEFINITIONS _AFXDLL;_MBCS;NT_PLUGIN;REQUIRE_IOSTREAM ) ELSE() SET( MAYA_USER_DIR $ENV{HOME}/maya CACHE PATH Maya user home directory ) SET( MAYA_ROOT /usr/autodesk/maya${MAYA_VERSION}-${MAYA_ARCH} ) ENDIF() SET( MAYA_HEADERS_DIR ${MAYA_ROOT}/include ) SET( MAYA_LIBRARY_DIR ${MAYA_ROOT}/lib ) IF (EXISTS $ENV{MAYA_PLUG_IN_PATH}) SET ( MAYA_PLUGINS_DIR $ENV{MAYA_PLUG_IN_PATH} CACHE PATH Maya plug-in installation directory ) ELSE () SET( MAYA_PLUGINS_DIR ${MAYA_ROOT}/bin/plug-ins CACHE PATH Maya plug-in installation directory ) ENDIF () FIND_PACKAGE(OpenGL) include( FindOSGHelper ) # Set all postfixes to nothing so we can compile other versions and they will # be loaded instead of the release version by Maya. SET(CMAKE_DEBUG_POSTFIX ) SET(CMAKE_RELWITHDEBINFO_POSTFIX ) SET(CMAKE_MINSIZEREL_POSTFIX ) SET ( LOCAL_WARNING_FLAGS /W3 ) SET ( LOCAL_RTTI_FLAGS /GR ) SET(CMAKE_INSTALL_PREFIX ${MAYA_PLUGINS_DIR}) SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) SET ( TARGET maya2osg ) SET ( SOURCE_FILES src/animation.cpp src/animation.h src/camera.cpp src/camera.h src/cameraanimation.cpp src/cameraanimation.h src/common.cpp src/common.h src/config.cpp src/config.h src/dagnode.cpp src/dagnode.h src/directionallight.cpp src/directionallight.h src/field.cpp src/field.h src/group.cpp src/group.h src/importervisitor.cpp src/importervisitor.h src/lights.cpp src/lights.h src/maya2osg.cpp src/maya2osg.h src/mesh.cpp src/mesh.h src/nparticle.cpp src/nparticle.h src/osg2maya.cpp src/osg2maya.h src/osgfiletranslator.cpp src/osgfiletranslator.h src/osgwrite.cpp
Re: [osg-users] Manual perspective distortion?
Alexander, By moving the corners of the frustum, are you wanting to tweak the frustum corners so that they have different depths (i.e. tilt the near plane so that it is no longer orthogonal to the eye)? I don't think OGL (and hence OSG) will allow you to do this directly. There is a munge that may allow you to effectively specify an oblique near clipping plane to give you the effect you're looking for. Check out the link http://www.terathon.com/gdc07_lengyel.pdf. Pay particular attention to the last part of the presentation. If you want to do distortion correction, you can resort to another technique other than just using the projection matrix. One way to do this is to use a two-pass solution whereby you render to texture and then distort the texture coordinates at small increments before rendering to an on-screen buffer. I think the first link I sent you last week talks about this. There are other ways to do the distortion correction as well such as shaders, etc. -Shayne -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Alexander Dieterle Sent: Monday, May 09, 2011 3:18 AM To: osg-users@lists.openscenegraph.org Subject: Re: [osg-users] Manual perspective distortion? Good morning everyone, I hope everyone of you had a nice and enjoyable weekend? Here in Germany it was brilliant weather, in addition, yesterday was mother's day so we had a very enjoyable time with the family - hope the same for you! :) Anyways - first off, thank you all very much for your answers. Torben, I did read into your code on Friday and, from a first glance at it, it seems like a possible solution for the problem. I think the perfect way to create that matrix would be by using a camera and creating the distortion pixel map by analysing the offset dynamically via the camera image. It's a quite complex way to do it, but the result should be quite good - however, if I can't find a student to write his bachelor thesis on that, I fear there won't be resources available to do it ;) Shayne, thank you very much - the links you offered perfectly describe the issues I'm dealing with. If I understand you right, I am already tweaking the frustum to calibrate the viewing area by using setProjectionMatrixAsFrustum(left, right, bottom, top, near, far); . The problem with this method is that by using each of those parameters I can only move an entire border of the projection area - so the entire left, right, bottom or top border of the frustum. This allows me to adjust the frustum such that it does fit into the projection screen; however, it does not help at all against the distortion in the image. To do so, I had to be able to move the corners of the frustum individually, and that's something I don't quite know how to do it. I'll read into the paper more deeply and will let you know if it could help me any further. Have a great start in the new week! -Alex -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39189#39189 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or g ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] Is osg 2.9.9 recommended for Qt integration
Hi, I have been playing around with the osgviewerQt example that came with osg 2.8.2. Then I looked at the examples that are in the source for 2.9.9 and there seem to be a lot more. Is it recommended that I upgrade or have other users got successful and acceptable results with 2.8.2 (or anything lower than 2.9.9) Thanks Sincerely, Sanat -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39224#39224 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [3rdparty] OSG C#
If you're using standard Visual Studio, using C++/CLI interop to write managed (ref) classes that interop with OSG and are callable from C# is going to be the most powerful approach. In order to render into a Windows Forms control, you create an empty control, get the native HWND and provide it to osgViewer. If you are using Visual Studio Express or Mono, or hate C++, you need to deal with osgWrappers and P/Invoke and unsafe memory management, which is going to be considerably more brittle. On 4/27/2011 3:50 AM, Sander Lan wrote: Hi, Does anyone have experience with using OpenSceneGraph in a C# environment? Thank you! Cheers, Sander -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38802#38802 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Peter Amstutz Senior Software Engineer Technology Solutions Experts Natick, MA 02131 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] OpenGL 3.0 support
On 5/9/2011 12:08 PM, Brad Colbert wrote: Hi folks, There may be a simple answer to this question but how do you successfully compile osg 2.9.* with OpenGL 3.0 support? I'm getting undefined functions, such as glLoadMatrixf. glLoadMatrixf isn't a 3.0 function. The likely cause of the problem is either that you've enabled FFP in CMake, or there's an issue with svn trunk calling FFP functions not wrapped by the necessary conditional compile statements. Try fixing this in CMake first, by disabling all the checkboxes for OpenGL 2.0 and FFP. There are on by default, and they don't turn themselves off when you select the box for 3.0. You might need to regenerate your CMake cache. -Paul ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Looking at OSGExp and maya2osg (3dsmax and Maya export plugins)
On Mon, May 9, 2011 at 9:58 PM, Jean-Sébastien Guay jean-sebastien.g...@cm-labs.com wrote: Do you know of an easy way for CMake to create the folders (e.g., GLSL) inside the Visual Studio project source tree? See the attached file. :-) Hope this helps, You're my CMake hero! :-) -- Javier Taibo ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] AlphaPixel pre-built binaries: Test RPMs?
We're working on packaging the pre-built binaries from the build system. I am not ready to publish them yet, but is there anyone interested in testing some RPMs we just built? -- Chris 'Xenon' Hanson, omo sanza lettere. xe...@alphapixel.com http://www.alphapixel.com/ Digital Imaging. OpenGL. Scene Graphs. GIS. GPS. Training. Consulting. Contracting. There is no Truth. There is only Perception. To Perceive is to Exist. - Xen ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] OpenGL 3.0 support
Paul, That was the problem, thanks. I didn't turn them off. -B -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Paul Martz Sent: Monday, May 09, 2011 1:49 PM To: OpenSceneGraph Users Subject: Re: [osg-users] OpenGL 3.0 support On 5/9/2011 12:08 PM, Brad Colbert wrote: Hi folks, There may be a simple answer to this question but how do you successfully compile osg 2.9.* with OpenGL 3.0 support? I'm getting undefined functions, such as glLoadMatrixf. glLoadMatrixf isn't a 3.0 function. The likely cause of the problem is either that you've enabled FFP in CMake, or there's an issue with svn trunk calling FFP functions not wrapped by the necessary conditional compile statements. Try fixing this in CMake first, by disabling all the checkboxes for OpenGL 2.0 and FFP. There are on by default, and they don't turn themselves off when you select the box for 3.0. You might need to regenerate your CMake cache. -Paul ___ 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] (no subject)
hello,everyone,i'd like to ask some question about osg. I 'm trying to analysis the architecture of osg depending on the source code. As i'm a researcher and i try to do something on graphics,I have to do some reseach. Can anybody give me any suggestions___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] About VBO in OSG
Hi, everyone, I applied by this way, does anyone have any more good idea? Code: class MyDrawable : public osg::Drawable { public: MyDrawable() {} /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ MySmokeDrawable(const MyDrawable MyDrawable,const osg::CopyOp copyop=osg::CopyOp::SHALLOW_COPY): osg::Drawable(MyDrawable,copyop) {} META_Object(MyApp,MyDrawable) virtual void drawImplementation(osg::RenderInfo renderInfo) const { osg::State* state = renderInfo.getState(); state-disableAllVertexArrays(); const osg::Drawable::Extensions* glExt = osg::Drawable::getExtensions(state-getContextID(), true); //vbo create. glExt-glGenBuffers(1, vboID); glExt-glBindBuffer(GL_ARRAY_BUFFER_ARB, vboID); glExt-glBufferData(GL_ARRAY_BUFFER_ARB, sizeof(Vertex)*24, NULL, GL_DYNAMIC_DRAW ); glExt-glBufferSubData(GL_ARRAY_BUFFER_ARB, 0, sizeof(Vertex)*24, verts); state-setTexCoordPointer(0, 2, GL_FLOAT, sizeof(Vertex), BUFFER_OFFSET(12)); state-setNormalPointer(GL_FLOAT, sizeof(Vertex), BUFFER_OFFSET(20)); state-setColorPointer(4, GL_FLOAT, sizeof(Vertex), BUFFER_OFFSET(32)); state-setVertexPointer(3, GL_FLOAT, sizeof(Vertex), BUFFER_OFFSET(0)); glExt-glGenBuffers(1, indexVBOID); glExt-glBindBuffer(GL_ELEMENT_ARRAY_BUFFER_ARB, indexVBOID); glExt-glBufferData(GL_ELEMENT_ARRAY_BUFFER_ARB, 36*sizeof(GLubyte), index, GL_STATIC_DRAW); // glGenBuffers(1, vboID); // Create the buffer ID, this is basically the same as generating texture ID's // glBindBuffer(GL_ARRAY_BUFFER, vboID); // Bind the buffer (vertex array data) // // glBufferData(GL_ARRAY_BUFFER, sizeof(Vertex) * 24, NULL, GL_DYNAMIC_DRAW); // glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(Vertex) * 24, verts); // // // glTexCoordPointer(2, GL_FLOAT, sizeof(Vertex), BUFFER_OFFSET(12)); // glNormalPointer(GL_FLOAT, sizeof(Vertex), BUFFER_OFFSET(20)); // glColorPointer(4, GL_FLOAT, sizeof(Vertex), BUFFER_OFFSET(32)); // glVertexPointer(3, GL_FLOAT, sizeof(Vertex), BUFFER_OFFSET(0)); // // // glGenBuffers(1, indexVBOID); // Generate buffer // glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, indexVBOID); // Bind the element array buffer // glBufferData(GL_ELEMENT_ARRAY_BUFFER, 36 * sizeof(GLubyte), index, GL_STATIC_DRAW); //create donedo anything you want ... ... } } such as :osg::geometry::useservertexbufferobject(true). and then specify the vbo no. or get the vbo no. from the geometry? thank you for any reply! ... Thank you! Cheers, Ivan Code: -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39231#39231 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [3rdparty] OSG C#
Of course OSG can work well with c#, but i recommend you to patch the block about osg into dll. Just by calling the dll can help you easily use it -- Original -- From: Sander Lan; Date: 2011年4月27日(星期三) 下午3:50 To: osg-users; Subject: [osg-users] [3rdparty] OSG C# Hi, Does anyone have experience with using OpenSceneGraph in a C# environment? Thank you! Cheers, Sander -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38802#38802 ___ 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] include conflict while compiling osg 2.9.11
Hi Lv, It is a known issue of the osgviewerQt example under Linux. AFAIK, OSG's multithreading mechanism could well with QtOpenGL under Windows, but the make current operation is confused when using QGLWidget as the low-level graphics context. With Qt 4.7 and Ubuntu 10.10, the example seems to work with warnings, but still not responsible. Maybe somebody could help debug into the Qt source code to find the problem later. Cheers, Wang Rui 2011/5/9 Lv Qing donlvq...@msn.com: Hi, Thx ,Robert ! Never thought you do experiments yourself for me! I have already given up X11 and try osgviewerQtContext. However there is a new problem,when I run the osgviewerQtContext example,it seems OK in siglethread mode.When I set it to the ThreadPerCamera mode and resize the widget,it prints such error: QGLContext::makeCurrent(): Failed. After a few times resizing,it crashed and prints: Xlib: unexpected async reply (sequence 0x0)! X Error: 0 0 Major opcode: 0 () Resource id: 0x0 X Error: 0 0 Major opcode: 0 () Resource id: 0x0 Is it because osgviewerQtContext do not support muti-threading yet? Or is there a better way? THX! -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39182#39182 ___ 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] (no subject)
Hi, FYI, Paul Martz's OpenSceneGraph Quick Start Guide is preferred for beginners in my opinion. And Qian Xuelei and I wrote a book OpenSceneGraph Beginners Guide in the end of last year, which is published by the Packt Publishing. Do some search in the osg-users archives could be of a lot help, too. As I guess you are from China, I'll also suggest the osgChina forum (bbs.osgchina.org), and some Chinese materials, like The Longest Frame (in Chinese, 最长的一帧) written by me, and two OSG publications published by the Tsinghua University Press. Wang Rui 在 2011年5月10日 上午7:55,蜡笔小新 841224...@qq.com 写道: hello,everyone,i'd like to ask some question about osg. I 'm trying to analysis the architecture of osg depending on the source code. As i'm a researcher and i try to do something on graphics,I have to do some reseach. Can anybody give me any suggestions ___ 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] Is osg 2.9.9 recommended for Qt integration
Hi Sanat, if you decide to upgrade, why not directly to the newest dev relese (2.9.14) ? Maybe there are further improvements.. :) Cheers, Torben. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39236#39236 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] OSG 2.9.10 on iOS
Hi, I am new to OSG and I am trying to build OSG 2.9.13 on iPhoneSimulator. I generate a Xcode Project with Cmake. And when I want to build the ALL BUILD-Target in Xcode, I get several times this error: -mmacosx-version-min not allowed with -miphoneos-version-min I already set the CMake Variables as Stephans suggestions. But I still get the same error. Can you please help me? Thank you! Cheers, Büsra -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=39235#39235 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org