Re: [osg-users] Parallel Split Shadow Map (Update)
Hi Robert, At the moment the 23 May version is ready for submission :-). So you can update this version in SVN. cheers adrian 2008/5/27 Robert Osfield [EMAIL PROTECTED]: Hi Adrian, I have run out of day, in my day long merge spree, so I'll need to start up again tomorrow, at which point I'll check out your latest changes. If you have any further updates to the ones sent of the 23rd May please just send them through, Cheers, Robert. On Fri, May 23, 2008 at 8:11 AM, Adrian Egli OpenSceneGraph (3D) [EMAIL PROTECTED] wrote: Latest Version to Test, i tested this on: ATI X1600 M : Windows Vista osgshadow --pssm --SingleThreaded --screen 0 -3 2008/5/21 Adrian Egli OpenSceneGraph (3D) [EMAIL PROTECTED]: Hi all again, now i came from ATI X1600M test, same artifact as you described, small shadowed line. i will try to figure out where it comes from. i guess we have to set another polygonoffset. 0.5,0.5 is may not as good as it seams to be. may -0.5,-0.5 or -1.0,-1.0 will work for ATI and NVidia. please check this with the option for polygonoffset and tell me what is a good offset. thanks adrian 2008/5/21 Ralph Kern [EMAIL PROTECTED]: Adrian Egli OpenSceneGraph (3D) schrieb: Hi all, i still come around with some changes. :-) now the near - far clip plane are more optimized, but i hope it's shows still correct shadows for all of your test cases. Its updated with latest PSSM version (from this morning,MEZ) http://webaddon3d.assoftware.ch/AE/PSSM_SHADOW_TEST_OpenSceneGraph_WIN32.rar (use the demo.bat) and in the attachement you will find the latest source. test osgshadow --pssm --SingleThreaded --no-base-texture just checked again. I removed the other two REM's on PATH and LIBRARY_PATH to get the program running. Works on WinXP SP2 GeForce FX5700, but slow frame rate (2.3 fps). On WinXP SP2 ATI X1600 dual monitor the park scenes run fine using screen 0 with 70 fps. There is a small lit line ( 1 pix wide) around the buildings like a self shadow offset which is to large. Chess scene is still entirely black. regards Ralph ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Adrian Egli -- Adrian Egli ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Adrian Egli ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Openthreads problem on 64 bit windows system.
Hi nelson, i remeber a problem i got long time ago with openthreads and windows, even on a 32 bit system. i located that we go an issue on windows system with the sleep method. (windows native). so can you try following: (1) replace the microsleep with the OpenThreads::Thread::YieldCurrentThread() report what happens (2) replce the microsleep only in the Thread class / method with YieldCurrentThread report what happens if both test are also negative, then replace microsleep with void millisleep( unsigned int milliseconds ) { # ifdef _MSC_VER // If its Visual C++ call Win32 Sleep function ::Sleep( milliseconds); #else // Else assume a UNIX/Linux system with nanosleep function timespec ts; ts.tv_sec = milliseconds / 1000; ts.tv_nsec = (milliseconds - ts.tv_sec*1000) * 100; ::nanosleep(ts, NULL); # endif } what happens ? Have also a look into: and search in google with adrian egli / openthreads / sleep http://www.openscenegraph.org/projects/osg/changeset/5313 2008/5/28 Cysneros, Nelson SPAWAR [EMAIL PROTECTED]: I'm having a problem with an existing application that runs well on a 32-bit windows XP (VS 2003) system, but does not seem to work when ran on a 64-bit windows XP (VS 2003) system. I narrowed down the problem to Openthreads, seems that my threaded while loop never (or rarely) gets called. I was able to recreate the problem with this simple program below. It runs two threads, both printing a message to the screen. Only one message is displayed on a 64bit machine. I turned on OSG notification to DEBUG, but no extra information is displayed. Has anyone else experience this problem? Am I doing something wrong? Thanks in advance. /// //Header file MutexTest.h /// #ifndef __MUTEXTEST_H_ #define __MUTEXTEST_H_ #include OpenThreads/Thread #include OpenThreads/Mutex #include OpenThreads/Barrier #include OpenThreads/Block #include OpenThreads/ScopedLock #include iostream class MutexTest : public OpenThreads::Thread { public: MutexTest(); ~MutexTest(); //Functions virtual void run(); void quit(); void printHello(); void setMutex(OpenThreads::Mutex* newValue); OpenThreads::Mutex* getMutex(); private: mutable OpenThreads::Mutex* _mutex; }; #endif /// //Source file MutexTest.cpp /// #include MutexTest.h MutexTest::MutexTest(){ _mutex = new OpenThreads::Mutex(); } MutexTest::~MutexTest(){ std::coutMutexTest Test Shuting down.std::endl; } void MutexTest::setMutex(OpenThreads::Mutex* newValue){ _mutex = newValue; } OpenThreads::Mutex* MutexTest::getMutex(){ return _mutex; } void MutexTest::quit() { } void MutexTest::printHello(){ OpenThreads::ScopedLockOpenThreads::Mutex lock(*_mutex); std::cout-- Mutex Class: Hello --std::endl; } void MutexTest::run() { while(true){ // //This only gets called once when running on 64bit system / printHello(); //sleep OpenThreads::Thread::microSleep(5000); }//while }//run // --- // // main // // --- int main(int argC, char* argV[]) { //Create a mutex we can share OpenThreads::Mutex* mutable my_mutex = new OpenThreads::Mutex; MutexTest* testMutex = new MutexTest(); testMutex-setMutex(my_mutex); //Start thread testMutex-start(); while(true) { OpenThreads::ScopedLockOpenThreads::Mutex lock(*my_mutex); std::cout Main: Hello std::endl; //sleep OpenThreads::Thread::microSleep(2000); }//while return 0; }//main ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Adrian Egli ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Parallel Split Shadow Map (Update)
Hi All, I'm not sure if it's commercially fair to talk about but I need to know your personal choices. Which graphics hardware is considered to be flawless and most compatible with OSG? (to be used with Windows XP and Intel architecture) Thanks for the patience, Can ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] LiSPSM contibution ?
http://appsrv.cse.cuhk.edu.hk/~fzhang/pssm_project/ *Question: In which directions, we can further improve PSSMs? * *Answer:* PSSM+VSM http://forum.beyond3d.com/showthread.php?p=975976 (variance shadow maps http://www.punkuser.net/vsm/) and PSSM/CSM+LiSPSM (light space perspective shadow maps) might be better ways to further improve PSSMs. A good example for PSSM/CSM+LiSPSM is the professional game Lost Planethttp://www.lostplanet-thegame.com/flash_index.php, refer to the discussion herehttp://forum.beyond3d.com/showpost.php?p=919807postcount=116for more information (just use Ctrl+F to find Fan Zhang on the page). For your convenience, I post the PSSM/CSM related part in the discussion below, * * http://www.watch.impress.co.jp/game/docs/20070131/3dlp91.htm http://www.watch.impress.co.jp/game/docs/20070131/3dlp92.htm * Glitch in LiSPSM http://www.watch.impress.co.jp/game/docs/20070131/3dlp91.htm* * Cascade-extended LiSPSM http://www.watch.impress.co.jp/game/docs/20070131/3dlp92.htm* Furthermore, since the shadow-map alignment depends on the light-view configuration, the shadow boundaries might flicker as the viewer moves. See a movie here (.avi)http://appsrv.cse.cuhk.edu.hk/%7Efzhang/pssm_project/flickering.avito show this problem. For this problem, when using a shadow map size over 1024 and the number of splits is greater than 3, this phenomena can be nearly eliminated with PCF/VSM. Another possible solution is used in Terry Welsh's OpenSceneGraph-based implementationhttp://appsrv.cse.cuhk.edu.hk/%7Efzhang/pssm_project/PSSMdemo_OSG_Terry.tar.gz, which moves the light projection in *x* and *y* coordinates in a texel size, so you are always having the same aliasing pattern. However, when you change the size of the projection (i.e. the *min* and *max* vectors in the *crop*matrix in Oskari Nyman's DirectX9 implementationhttp://appsrv.cse.cuhk.edu.hk/%7Efzhang/pssm_project/PSSMdemo_DX9.zip), this problem still happens. Anyway, as I mentioned, this issue is not noticeable at all if we use PSSM+PCF/VSM. The last issue might the performance. I've to say, as the tremendous advances in modern GPUs, even without hardware-acceleration, PSSMs could achieve a high fps in practical applications. In our Gems 3 paper/implementation, we proposed the acceleration methods on DX9-level and DX10-level GPUs. Please check this page back later. In summary, personally, I don't think the performance is a problem for PSSMs on modern GPUs. * Alors, OSG take same way? who could support me ? regards * 2008/5/27 Wojciech Lewandowski [EMAIL PROTECTED]: Hi J-S, Yes it is view dependent. Have you seen some issues with pure osgShadow::ShadowMap in multi view configurations ? Not at all, I was just curious since you said StandardShadowMap is equivalent to osgShadow::ShadowMap - but the former is view-dependent where the latter is not. I thought about it for a while when I was struggling with multi view / multi threaded OSG on XP. Threre exists some remote possibility for osgShadow::ShadowMap to fail in threaded modes. Just an example: multicore default DrawThreadPerContext uses two SceneViews in parallel. While first does draw for previous frame, second does cull for next frame. Teoretically second SceneView may invoke ShadowMap::cull which could alter shadow TexGen matrices before first SceneView managed to use it for generating shadow tex coords. This would produce shadow texture misalignment and possible flicker between scenes. But in practice I doubt anyone would be able to notice it. You may try to add setMinLightMargin( 10 ); in osgshadow paragraph where --lispsm technique is created. There is a catch though. You may be hit by some assertion code I added today. If you want to try this please update ConvexHull.h header (attached here). Yep, that solves it. Interesting, so there's a few more parameters to tweak depending on the scene. These techniques have some limitations and may not be interesting for eveyone. Techniques were created for vis simulation scenarios where databases are usually larger than view frustum (considering their bounds) and implicitly assume that all objects can cast shadows on themselves. So I assume that shadow casting and shadow receiving scenes are basically the same. I think that other MinimalXXShadowMap could be created to take advantage of the situation where shadow casting and shadow receiving scenes differ. LisPSM would not require changes. All what would be needed is to derive it from this new base class. Cheers, Wojtek ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Adrian Egli ___ osg-users mailing list osg-users@lists.openscenegraph.org
Re: [osg-users] Parallel Split Shadow Map (Update)
Should be careful, sorry. 2008/5/28 Adrian Egli OpenSceneGraph (3D) [EMAIL PROTECTED]: Depends on your own application, i am working with ATI and NVidia both are rubost running with OSG. The question isn't really what kind of card is most robust with OSG, better question is, which vendor has best OpenGL driver, especially for Windows Based Systems. but why are you asking this question under PSSM ? 2008/5/28 Can T. Oguz [EMAIL PROTECTED]: Hi All, I'm not sure if it's commercially fair to talk about but I need to know your personal choices. Which graphics hardware is considered to be flawless and most compatible with OSG? (to be used with Windows XP and Intel architecture) Thanks for the patience, Can ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Adrian Egli ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] threading trouble with slave cameras
Hi Terry, From your email it's not clear the exact camera/graphics window set up. It does kinda sound like all the cameras share the same graphics window, is this right? If so then you'll only ever be able to have one DrawThread. If you have three slave Camera then in theory you should be able to have six CameraThread. However, from you diagram it seems that you have cameras nested within each other, rather than all the slaves being siblings, and you suggestion that getCameras() returns just one camera suggest that all the cameras are in the scene graph (or perhaps there is a bug). Since there is really too little specific information on your setup I can't really provide any insight or advice. You could explain your motivation for splitting the view up into so may cameras, the number of contexts you are driving, if all the cameras are collaborating on the same view. Also how are you adding the cameras into the setup? Perhaps some code would help. Robert. On Tue, May 27, 2008 at 11:17 PM, Terry Welsh [EMAIL PROTECTED] wrote: Hi, I just tried to replace SceneView with osgViewer::Viewer to take advantage of threading. My scene has 3 views of the same scene with cameras set up like this: Viewer camera / | \ far_cam1far_cam2 far_cam3 | | | near_cam1 near_cam2 near_cam3 (POST_RENDER) (POST_RENDER)(POST_RENDER) \ | / scene The viewer camera is only used for clearing. The near and far cameras are used to render different depth ranges of my scene to prevent a lot of z-fighting; each pair of near/far cameras draws into the same viewport. With no threading, I use 1 core at 100%. With CullThreadPerCameraDrawThreadPerContext I use 1 core at 100% and another core at about 25%. There are still 2 cores that are nearly unused. The other threading modes do not appear to help. I tried to trace through the threading code in ViewerBase a little. In cameras (the vector of osg::Cameras) there is only 1 camera, but I expected to find 7. Is it impossible to have 7 cull threads in this situation, or am I just setting something up wrong? - Terry ___ 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] Can't post to osg-submissions
Hi Thibault, Are you subscribed to osg-submissions? It'd be worth checking you address that your sending from matches the address subscribed. Robert. On Wed, May 28, 2008 at 7:40 AM, Thibault Genessay [EMAIL PROTECTED] wrote: Hi all Yesterday I've been sending a fix to the osg-submissions list but the message did not seem to reach its destination. I've had no failure notification but the message is not in the archive - Gmane shows messages that were sent after, but not mine. Is anyone here having the same problem ? I have checked my account on the list's web page and everything looks OK. I can recall that some months ago I posted a fix for the PNG plugin and thought Robert had just ignored it due to its overload, but it might as well have ended in the void... Thibault PS: the subject of the message was [osg-submissions] GraphicsWindowWin32 bug: cursor was not set properly ___ 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] Can't post to osg-submissions
Hi, Thibault Genessay wrote: Yesterday I've been sending a fix to the osg-submissions list but the message did not seem to reach its destination. I've had no failure notification but the message is not in the archive - Gmane shows messages that were sent after, but not mine. Is anyone here having the same problem ? I have checked my account on the list's web page and everything looks OK. I can recall that some months ago I posted a fix for the PNG plugin and thought Robert had just ignored it due to its overload, but it might as well have ended in the void... Well, you posted a few responses to osg-submissions regarding my osgviewerWX example tweaks about 2 weeks ago, so you could definitely post at that time. Can't seem to find any submission by you regarding the PNG plugin in the archive though, so something seems to be fishy there... PS: the subject of the message was [osg-submissions] GraphicsWindowWin32 bug: cursor was not set properly This is the subject of the message you posted today, right? As you seem to have sent in a fix relating to cursors a long time ago as well (July 2007). Paul ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Debugging example hangs in Cygwin and need some insight into cygwin_osgdb_osg.dll
El Martes 27 Mayo 2008ES 21:44:03 Brian Keener escribió: This almost seems as if iot has something to do with the actually writing of the osg file when it writes the data and then something not terminating as it should. I think this could be a non-valid example, because osgDB::DynamicLibrary on UNIX (including Cygwin) only loads symbols when needed (it opens them with the RTLD_LAZY specifier), so the OSG's plugin register could realize the mismatch before trying to load any symbols from the DLL. Alberto ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Should I be able to save the precipitation node to an osg or ive file?
On Wed, May 28, 2008 at 11:46 AM, Paul Melis [EMAIL PROTECTED] wrote: At present there is no osgParticle support in .ive, and no PrecipitationEffect support in .osg either, but this should be more straight forward to add. Is osgParticle the only nodekit that lacks support or are there more? Would this be something the community can assist in? It seems like a fairly straightforward job to look at the existing plugins code and write the needed processing. This is the type of task the OSG community tackles all the time, just not PrecipitationEffect so far :-) As a general objective I'd like to have more formalised ascii/binary serialization built into the OSG so that we don't have maintain separate .osg and .ive formats. This is a big topic all by itself though, when I've got a bit more breathing space I'll strike up a discussion about this, but right now I'll keep me head down. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Should I be able to save the precipitation node to an osg or ive file?
Robert Osfield wrote: On Wed, May 28, 2008 at 11:46 AM, Paul Melis [EMAIL PROTECTED] wrote: At present there is no osgParticle support in .ive, and no PrecipitationEffect support in .osg either, but this should be more straight forward to add. Is osgParticle the only nodekit that lacks support or are there more? Would this be something the community can assist in? It seems like a fairly straightforward job to look at the existing plugins code and write the needed processing. This is the type of task the OSG community tackles all the time, just not PrecipitationEffect so far :-) As a general objective I'd like to have more formalised ascii/binary serialization built into the OSG so that we don't have maintain separate .osg and .ive formats. This is a big topic all by itself though, when I've got a bit more breathing space I'll strike up a discussion about this, but right now I'll keep me head down. Would it make sense then, for the short term, to make an overview of exactly which classes are missing support? I'm thinking of a wiki page that lists per nodekit what is missing. Anyone interested can then pick off an item from the list, start working on the code and, when done, send it to osg-submissions. After being accepted it can be crossed off the list. Paul ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Should I be able to save the precipitation node to an osg or ive file?
Hi Raymond, At present there is no osgParticle support in .ive, and no PrecipitationEffect support in .osg either, but this should be more straight forward to add. Robert. On Wed, May 28, 2008 at 11:31 AM, Raymond de Vries [EMAIL PROTECTED] wrote: Hi, While I was writing the previous message about the precipitation bug or feature, I tried to save the scene graph to an osg or ive file (to report the issue in an easier way) but the precipitation was not written. Can anyone explain how does this works? In the end the precipitation is 'just' build from standard osg so I would expect it to be written to file. Thanks for the clarification. Best regards Raymond (win xp, osg 2.4.0, ms visual studio 2005 sp1) ___ 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] Can't post to osg-submissions
Hi Paul, Robert Well, you posted a few responses to osg-submissions regarding my osgviewerWX example tweaks about 2 weeks ago, so you could definitely post at that time. Yes, I can remember that. Plus I have done all necessary checking that I am a registered subscriber of the list. Can't seem to find any submission by you regarding the PNG plugin in the archive though, so something seems to be fishy there... Which makes me think I am doing something wrong with the destination address. I'll try to copy-paste the exact address I had replied to and send it again. Thanks for your input Regards Thibault ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Creating new Wiki pages
hi, i tried again today and i'm still running into the same problems. first, let me answer your questions: You say can't seem to add larger pages and smaller edits [...] work just fine. But did you try to ADD a small page (it's not clear from your message), or does adding not work at all? I added a new page by writing a WikiWord on an existing page, then clicking on it. I then clicked on Create and wrote my markup in the edit box and hit Submit changes. After that, the server never returns. I managed, however, to create the page itself by just adding a small amount of text. It seems that whenever I reach a certain number of characters, it doesn't work anymore. That number is not big, though. It's like, one paragraph. Maybe about 1,000 characters. Can you give an indication of the size of your page (in number of characters)? The page I want to add is about 10,000 characters, about 1,300 words. Just did a quick test creating a new page with a lot of text on it (about 14000 bytes of text). This works fine... That's odd. You know what? I'll send you the markup in a private mail. Maybe you can add it for me and see if it works for you. Rick ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Should I be able to save the precipitation node to an osg or ive file?
Hi Robert, Robert Osfield wrote: At present there is no osgParticle support in .ive, and no PrecipitationEffect support in .osg either, but this should be more straight forward to add. Is osgParticle the only nodekit that lacks support or are there more? Would this be something the community can assist in? It seems like a fairly straightforward job to look at the existing plugins code and write the needed processing. Paul ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Should I be able to save the precipitation node to an osg or ive file?
Hi Robert and Paul, Thanks, it's clear now. Raymond Robert Osfield wrote: Hi Raymond, At present there is no osgParticle support in .ive, and no PrecipitationEffect support in .osg either, but this should be more straight forward to add. Robert. On Wed, May 28, 2008 at 11:31 AM, Raymond de Vries [EMAIL PROTECTED] wrote: Hi, While I was writing the previous message about the precipitation bug or feature, I tried to save the scene graph to an osg or ive file (to report the issue in an easier way) but the precipitation was not written. Can anyone explain how does this works? In the end the precipitation is 'just' build from standard osg so I would expect it to be written to file. Thanks for the clarification. Best regards Raymond (win xp, osg 2.4.0, ms visual studio 2005 sp1) ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] can't remove all PrimitiveSet
Hi Alberto, Alberto Luaces wrote: El Martes 27 Mayo 2008ES 16:58:21 Paul Melis escribió: dirtyDisplayList(); dirtyBound(); When using direct access to the list you will have to call these yourself... Well, I think osg users are used to call these functions themselves pretty often when dealing with dynamic geometries, but it's just a matter of style :) No offense, but I consider using the underlying data structure like in this particular case bad style, it's asking for trouble. The problem is that directly adding to/removing from the underlying vector doesn't include all the semantics of adding/removing of the higher level API. So whenever the higher level add/remove is altered to say, include more operations, you might not become aware of this until you code that directly accesses the vector starts misbehaving. Removing the public access to the primitive set list would help to avoid this, but it seems other OSG classes need access to it, e.g. osgUtil::Optimizer. Regards, Paul ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] bug or feature: should I always be able to disable using vbo? (when I do so in the precipitation, rendering artifacts appear)
Hi Robert, Both: osgprecipitation textured_box.osg osgprecipitation non_textured_box.osg Work just fine for me, with SVN version of the OSG. Note, there has been a shader related bug fix to GLObjectVistor that may well have a baring on this issue. Did you change the vbo lines in the PrecipitationEffect.cpp? As for VBO/non VBO on objects in the scene, this should have absolutely no effect on the precipitation, suggesting either a bug on the OSG side or a driver bug. Could you try out the SVN version of the OSG to see if this fixes things. Sure, will do it right away. Talk to you later, Raymond Robert. Hi, I am diving deep into the precipitation and trying out things (osg 2.4.0, win xp, MS Visual Studio 2005 SP1). One of the things I did is to disable the usage of vbos, in lines 480, 487 and 494: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); When I do so, the precip is not drawn properly at all anymore, and it depends if a load a textured or non-textured object (see the attached models + image): - non-textured: box rendered ok, no precip at all although it seems to be rendered judging from the performance - textured: box rendered ok, precip is rendered not right at all (seems like large polygons or so) So the general question is: should I be able to disable vbo at all times? I expected this would be possible (resulting in a performance penalty of course). If so, there is an issue somewhere... I don't know where, although I spent many hours on this. Thanks a lot Raymond MatrixTransform { DataVariance STATIC name Scene Root nodeMask 0xff cullingActive TRUE StateSet { UniqueID StateSet_0 DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT GL_LIGHTING ON } referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 MatrixTransform { DataVariance STATIC name Box01 nodeMask 0xff cullingActive TRUE referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 Geode { UniqueID Geode_1 DataVariance STATIC name Box01-GEODE nodeMask 0xff cullingActive TRUE num_drawables 1 Geometry { DataVariance DYNAMIC StateSet { DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT } useDisplayList TRUE useVertexBufferObjects FALSE PrimitiveSets 1 { DrawArrays TRIANGLES 0 36 } VertexArray Vec3Array 36 { -14.7209 -13.6026 0 -14.7209 13.6026 0 14.7209 13.6026 0 14.7209 13.6026 0 14.7209 -13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 13.6026 0 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 -13.6026 0 14.7209 13.6026 0 -14.7209 13.6026 0 -14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 0 -14.7209 13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 13.6026 0 } NormalBinding PER_VERTEX NormalArray Vec3Array 36 { 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 } ColorBinding OVERALL ColorArray Vec4Array 1 { 0.109804 0.584314 0.694118 1 } } } } } MatrixTransform { DataVariance STATIC name Scene Root nodeMask 0xff cullingActive TRUE StateSet { UniqueID StateSet_0 DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT GL_LIGHTING ON } referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 MatrixTransform { DataVariance STATIC name Box01 nodeMask 0xff cullingActive TRUE referenceFrame
Re: [osg-users] LiSPSM contibution ?
Hi Adrian, Alors, OSG take same way? who could support me ? Count me in. More difficult question is how much of my time I may devote. Unfortunately I am not sure if I can offer some help in June. Maybe its more probable in July. But certainly I am interested in helping in this effort. Cheers, Wojtek ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] bug or feature: should I always be able to disable using vbo? (when I do so in the precipitation, rendering artifacts appear)
On Wed, May 28, 2008 at 11:17 AM, Raymond de Vries [EMAIL PROTECTED] wrote: Hi Raymond, Both: osgprecipitation textured_box.osg osgprecipitation non_textured_box.osg Work just fine for me, with SVN version of the OSG. Note, there has been a shader related bug fix to GLObjectVistor that may well have a baring on this issue. As for VBO/non VBO on objects in the scene, this should have absolutely no effect on the precipitation, suggesting either a bug on the OSG side or a driver bug. Could you try out the SVN version of the OSG to see if this fixes things. Robert. Hi, I am diving deep into the precipitation and trying out things (osg 2.4.0, win xp, MS Visual Studio 2005 SP1). One of the things I did is to disable the usage of vbos, in lines 480, 487 and 494: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); When I do so, the precip is not drawn properly at all anymore, and it depends if a load a textured or non-textured object (see the attached models + image): - non-textured: box rendered ok, no precip at all although it seems to be rendered judging from the performance - textured: box rendered ok, precip is rendered not right at all (seems like large polygons or so) So the general question is: should I be able to disable vbo at all times? I expected this would be possible (resulting in a performance penalty of course). If so, there is an issue somewhere... I don't know where, although I spent many hours on this. Thanks a lot Raymond MatrixTransform { DataVariance STATIC name Scene Root nodeMask 0xff cullingActive TRUE StateSet { UniqueID StateSet_0 DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT GL_LIGHTING ON } referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 MatrixTransform { DataVariance STATIC name Box01 nodeMask 0xff cullingActive TRUE referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 Geode { UniqueID Geode_1 DataVariance STATIC name Box01-GEODE nodeMask 0xff cullingActive TRUE num_drawables 1 Geometry { DataVariance DYNAMIC StateSet { DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT } useDisplayList TRUE useVertexBufferObjects FALSE PrimitiveSets 1 { DrawArrays TRIANGLES 0 36 } VertexArray Vec3Array 36 { -14.7209 -13.6026 0 -14.7209 13.6026 0 14.7209 13.6026 0 14.7209 13.6026 0 14.7209 -13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 13.6026 0 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 -13.6026 0 14.7209 13.6026 0 -14.7209 13.6026 0 -14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 0 -14.7209 13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 13.6026 0 } NormalBinding PER_VERTEX NormalArray Vec3Array 36 { 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 } ColorBinding OVERALL ColorArray Vec4Array 1 { 0.109804 0.584314 0.694118 1 } } } } } MatrixTransform { DataVariance STATIC name Scene Root nodeMask 0xff cullingActive TRUE StateSet { UniqueID StateSet_0 DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT GL_LIGHTING ON } referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
[osg-users] Should I be able to save the precipitation node to an osg or ive file?
Hi, While I was writing the previous message about the precipitation bug or feature, I tried to save the scene graph to an osg or ive file (to report the issue in an easier way) but the precipitation was not written. Can anyone explain how does this works? In the end the precipitation is 'just' build from standard osg so I would expect it to be written to file. Thanks for the clarification. Best regards Raymond (win xp, osg 2.4.0, ms visual studio 2005 sp1) ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Should I be able to save the precipitation node to an osg or ive file?
Hi, Raymond de Vries wrote: While I was writing the previous message about the precipitation bug or feature, I tried to save the scene graph to an osg or ive file (to report the issue in an easier way) but the precipitation was not written. Can anyone explain how does this works? In the end the precipitation is 'just' build from standard osg so I would expect it to be written to file. Thanks for the clarification. It seems like there currently is no support in the plugins to write a osgParticle::PrecipitationEffect. There's no corresponding code in src/osgPlugins/osgParticle named something like IO_PrecipitationEffect.cpp. Paul ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Creating new Wiki pages
Forum Dude wrote: That's odd. You know what? I'll send you the markup in a private mail. Maybe you can add it for me and see if it works for you. Re: OSG Wiki. (See mailing list.) Here it is. The page I want to put it on is: http://www.openscenegraph.org/projects/osg/wiki/Support/PlatformSpecifics/MingwColladaEclipse Of course, I haven't had a chance to check my markup so it might not look perfect. Also, it's not finished. There should be screenshots as well. But for a start, it would be great if you could put it on the Wiki. And who knows, maybe after that I'll be able to edit it myself. Well, I had no problems pasting your text in the edit form, so the page is now fully complete. Note: I changed the markup of the bulleted lists in the requirements. You shouldn't use empty lines between list items as that will create a new list for each item. I.e. don't write * Blah * sub 1 * sub 2 but write * Blah * sub 1 * sub 2 I have no idea why you were having so much trouble getting the page editing to work. Perhaps the server was misbehaving, or it might be your browser (do you happen to use an exotic one?). Looks great b.t.w., thanks for writing this info! Regards, Paul ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] bug or feature: should I always be able to disable using vbo? (when I do so in the precipitation, rendering artifacts appear)
Hi Robert, I just tried it with the svn version and the effect is the same as with 2.4.0, so still wrong. In order to do this I changed the lines 481, 488 and into: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); Can you please test with these changed lines? Thanks Raymond btw fyi: I still used the older 3rd party libs, not the most recent ones, but that shouldn't harm I guess btw I could not find a way to grab the fullscreen viewer, windows won't let me, and the --viewer option does not work Raymond de Vries wrote: Hi Robert, Both: osgprecipitation textured_box.osg osgprecipitation non_textured_box.osg Work just fine for me, with SVN version of the OSG. Note, there has been a shader related bug fix to GLObjectVistor that may well have a baring on this issue. Did you change the vbo lines in the PrecipitationEffect.cpp? As for VBO/non VBO on objects in the scene, this should have absolutely no effect on the precipitation, suggesting either a bug on the OSG side or a driver bug. Could you try out the SVN version of the OSG to see if this fixes things. Sure, will do it right away. Talk to you later, Raymond Robert. Hi, I am diving deep into the precipitation and trying out things (osg 2.4.0, win xp, MS Visual Studio 2005 SP1). One of the things I did is to disable the usage of vbos, in lines 480, 487 and 494: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); When I do so, the precip is not drawn properly at all anymore, and it depends if a load a textured or non-textured object (see the attached models + image): - non-textured: box rendered ok, no precip at all although it seems to be rendered judging from the performance - textured: box rendered ok, precip is rendered not right at all (seems like large polygons or so) So the general question is: should I be able to disable vbo at all times? I expected this would be possible (resulting in a performance penalty of course). If so, there is an issue somewhere... I don't know where, although I spent many hours on this. Thanks a lot Raymond MatrixTransform { DataVariance STATIC name Scene Root nodeMask 0xff cullingActive TRUE StateSet { UniqueID StateSet_0 DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT GL_LIGHTING ON } referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 MatrixTransform { DataVariance STATIC name Box01 nodeMask 0xff cullingActive TRUE referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 Geode { UniqueID Geode_1 DataVariance STATIC name Box01-GEODE nodeMask 0xff cullingActive TRUE num_drawables 1 Geometry { DataVariance DYNAMIC StateSet { DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT } useDisplayList TRUE useVertexBufferObjects FALSE PrimitiveSets 1 { DrawArrays TRIANGLES 0 36 } VertexArray Vec3Array 36 { -14.7209 -13.6026 0 -14.7209 13.6026 0 14.7209 13.6026 0 14.7209 13.6026 0 14.7209 -13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 13.6026 0 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 -13.6026 0 14.7209 13.6026 0 -14.7209 13.6026 0 -14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 0 -14.7209 13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 13.6026 0 } NormalBinding PER_VERTEX NormalArray Vec3Array 36 { 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0
Re: [osg-users] bug or feature: should I always be able to disable using vbo? (when I do so in the precipitation, rendering artifacts appear)
Hi Raymond, I've just made your suggestion change, and it does break things on my machine as well. But... reviewing the code, we'll the code dynamically adjusts the number of particles so it not meant ever to use display lists, rather it only works with VBO's or vertex arrays. Note the custom PrecipitationDrawable that manages the actual rendering. It's not at all a conventional bit of scene graph, and I'm kinda perplexed why you'd want to go around changing the insides of such an implementation. The code is designed to use VBO's for a reason - performance and flexibility, with was never meant to be used with display lists as this breaks the whole way the implementation functions. Robert. On Wed, May 28, 2008 at 1:05 PM, Raymond de Vries [EMAIL PROTECTED] wrote: Hi Robert, I just tried it with the svn version and the effect is the same as with 2.4.0, so still wrong. In order to do this I changed the lines 481, 488 and into: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); Can you please test with these changed lines? Thanks Raymond btw fyi: I still used the older 3rd party libs, not the most recent ones, but that shouldn't harm I guess btw I could not find a way to grab the fullscreen viewer, windows won't let me, and the --viewer option does not work Raymond de Vries wrote: Hi Robert, Both: osgprecipitation textured_box.osg osgprecipitation non_textured_box.osg Work just fine for me, with SVN version of the OSG. Note, there has been a shader related bug fix to GLObjectVistor that may well have a baring on this issue. Did you change the vbo lines in the PrecipitationEffect.cpp? As for VBO/non VBO on objects in the scene, this should have absolutely no effect on the precipitation, suggesting either a bug on the OSG side or a driver bug. Could you try out the SVN version of the OSG to see if this fixes things. Sure, will do it right away. Talk to you later, Raymond Robert. Hi, I am diving deep into the precipitation and trying out things (osg 2.4.0, win xp, MS Visual Studio 2005 SP1). One of the things I did is to disable the usage of vbos, in lines 480, 487 and 494: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); When I do so, the precip is not drawn properly at all anymore, and it depends if a load a textured or non-textured object (see the attached models + image): - non-textured: box rendered ok, no precip at all although it seems to be rendered judging from the performance - textured: box rendered ok, precip is rendered not right at all (seems like large polygons or so) So the general question is: should I be able to disable vbo at all times? I expected this would be possible (resulting in a performance penalty of course). If so, there is an issue somewhere... I don't know where, although I spent many hours on this. Thanks a lot Raymond MatrixTransform { DataVariance STATIC name Scene Root nodeMask 0xff cullingActive TRUE StateSet { UniqueID StateSet_0 DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT GL_LIGHTING ON } referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 MatrixTransform { DataVariance STATIC name Box01 nodeMask 0xff cullingActive TRUE referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 Geode { UniqueID Geode_1 DataVariance STATIC name Box01-GEODE nodeMask 0xff cullingActive TRUE num_drawables 1 Geometry { DataVariance DYNAMIC StateSet { DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT } useDisplayList TRUE useVertexBufferObjects FALSE PrimitiveSets 1 { DrawArrays TRIANGLES 0 36 } VertexArray Vec3Array 36 { -14.7209 -13.6026 0 -14.7209 13.6026 0 14.7209 13.6026 0 14.7209 13.6026 0 14.7209 -13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 13.6026 0 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 -13.6026 0 14.7209 13.6026 0 -14.7209 13.6026 0 -14.7209 13.6026 15.8052 -14.7209
Re: [osg-users] Most compatible OpenGL Driver
Try searching the archives for ATI or NVIDIA. Problems with both have been discussed here in the not too distant past. -Paul _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Can T. Oguz Sent: Wednesday, May 28, 2008 2:06 AM To: OpenSceneGraph Users Subject: [osg-users] Most compatible OpenGL Driver Adrien had just rephrased my question, so I agree and I do repeat him. What do you think? which vendor has best OpenGL driver, especially for Windows Based Systems ? Thanks all, Can 2008/5/28 Can T. Oguz [EMAIL PROTECTED]: Hi All, I'm not sure if it's commercially fair to talk about but I need to know your personal choices. Which graphics hardware is considered to be flawless and most compatible with OSG? (to be used with Windows XP and Intel architecture) Thanks for the patience, Can ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] Realistic Explosions needed!
Hi, I am just programming a special effects module that uses OpenSceneGraph. What I need is an explosion or explosion effect that looks as good and realistic as possible. First thing I tried was the osgParticle::ExplosionEffect. Its ok, but I need something that looks like the explosion on the image that I have attached to this mail. Next thing I tried was the Delta3D Particle Editor. The result was much better, but still not enough. It is very difficult to add fragments to the explosion that fly away with a smoke trail behind. For example is it not possible to add an emitter to the fragment. I also tried the OSG Exporter for 3ds max. But the exporter only exports spray and snow particle systems, and in my opinion it is not possible to design good looking explosions with that two particle systems. Furthermore the two particle systems were not exported correctly, so I gave it up. Is there another possibility to create realistic explosion effects with OSG? Or did somebody have success in exporting an explosion from 3ds max to OSG? Any ideas? Thanks, Dominic Neusch Dominic Neusch Diplomand EADS Defence Security System Design Center Germany - SDGE1 88039 Friedrichshafen - Deutschland Telephone: +49 (0) 7545 8-2686 Fax: +49 (0) 7545 8-9630 Email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] www.eads.com http://www.eads.com EADS Deutschland GmbH Registered Office: Ottobrunn District Court of Munich HRB 107 648 Chairman of the Supervisory Board: Dr. Thomas Enders Managing Directors: Dr. Stefan Zoller (chairman), Michael Hecht This E-mail and any attachment(s) to it are for the addressee's use only. It is strictly confidential and may contain legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you are not the intended addressee, then please delete it from your system and notify the sender immediateley. You are hereby notified that any use, disclosure, copying or any action taken in reliance on it is strictly prohibited and may be unlawful. - Thank you. Before printing this e-mail, think about our environmental responsibility attachment: explosion.jpg___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] bug or feature: should I always be able to disable using vbo? (when I do so in the precipitation, rendering artifacts appear)
Hi Robert, I totally understand what you are saying. In fact, I do not want to turn this off, I was trying out a lot of things since I've got a bug here in a class which is a simplified precip. In this class I did not enable vbos and worked fine until I enabled vbo. So that's why I came up with my generic question whether or not I can disable the usage of vbo. I will dig further, thanks for now. best regards Raymond Robert Osfield wrote: Hi Raymond, I've just made your suggestion change, and it does break things on my machine as well. But... reviewing the code, we'll the code dynamically adjusts the number of particles so it not meant ever to use display lists, rather it only works with VBO's or vertex arrays. Note the custom PrecipitationDrawable that manages the actual rendering. It's not at all a conventional bit of scene graph, and I'm kinda perplexed why you'd want to go around changing the insides of such an implementation. The code is designed to use VBO's for a reason - performance and flexibility, with was never meant to be used with display lists as this breaks the whole way the implementation functions. Robert. On Wed, May 28, 2008 at 1:05 PM, Raymond de Vries [EMAIL PROTECTED] wrote: Hi Robert, I just tried it with the svn version and the effect is the same as with 2.4.0, so still wrong. In order to do this I changed the lines 481, 488 and into: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); Can you please test with these changed lines? Thanks Raymond btw fyi: I still used the older 3rd party libs, not the most recent ones, but that shouldn't harm I guess btw I could not find a way to grab the fullscreen viewer, windows won't let me, and the --viewer option does not work Raymond de Vries wrote: Hi Robert, Both: osgprecipitation textured_box.osg osgprecipitation non_textured_box.osg Work just fine for me, with SVN version of the OSG. Note, there has been a shader related bug fix to GLObjectVistor that may well have a baring on this issue. Did you change the vbo lines in the PrecipitationEffect.cpp? As for VBO/non VBO on objects in the scene, this should have absolutely no effect on the precipitation, suggesting either a bug on the OSG side or a driver bug. Could you try out the SVN version of the OSG to see if this fixes things. Sure, will do it right away. Talk to you later, Raymond Robert. Hi, I am diving deep into the precipitation and trying out things (osg 2.4.0, win xp, MS Visual Studio 2005 SP1). One of the things I did is to disable the usage of vbos, in lines 480, 487 and 494: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); When I do so, the precip is not drawn properly at all anymore, and it depends if a load a textured or non-textured object (see the attached models + image): - non-textured: box rendered ok, no precip at all although it seems to be rendered judging from the performance - textured: box rendered ok, precip is rendered not right at all (seems like large polygons or so) So the general question is: should I be able to disable vbo at all times? I expected this would be possible (resulting in a performance penalty of course). If so, there is an issue somewhere... I don't know where, although I spent many hours on this. Thanks a lot Raymond MatrixTransform { DataVariance STATIC name Scene Root nodeMask 0xff cullingActive TRUE StateSet { UniqueID StateSet_0 DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT GL_LIGHTING ON } referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 MatrixTransform { DataVariance STATIC name Box01 nodeMask 0xff cullingActive TRUE referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 Geode { UniqueID Geode_1 DataVariance STATIC name Box01-GEODE nodeMask 0xff cullingActive TRUE num_drawables 1 Geometry { DataVariance DYNAMIC StateSet { DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT } useDisplayList TRUE useVertexBufferObjects FALSE PrimitiveSets 1 { DrawArrays TRIANGLES 0 36 } VertexArray Vec3Array 36 { -14.7209 -13.6026 0 -14.7209 13.6026 0 14.7209 13.6026 0 14.7209 13.6026 0 14.7209 -13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 -13.6026 15.8052
Re: [osg-users] Workaround for the problems in OSG / XP / multimonitor/ multithreaded / NVidia
Hi Robert, I use it and have not observed any issues. I would say its rather safe. I reported this bug to NVidia. And it looks like they are doing something to fix the problem. In the meantime they sent me two bit cryptic emails informing they verified and fixed it. Last email was also saying that fix is awaiting for final verification and closure. I don't know when they make fixed drivers available, though, so I would vote for merging my workaround for time being. I promise I will let you know or even send the submission removing this workaround when NVidia informs me that fixed drivers are available. Cheers, Wojtek Hi Wojtek, I'm just following up on your workaround for the NVidia WindowsXP multi-thread make current bug. Others have reported problems since you posted your fix, and while I know the bug is now Nvidia have acknowledged the problem, we don't yet know how long it might be to a fix... so I'm tempted to merge your workaround. Thoughts? Robert. On Mon, May 12, 2008 at 1:28 PM, Wojciech Lewandowski [EMAIL PROTECTED] wrote: Hi again, I have modified GraphicsWindowWin32::makeCurrentImplementation method. Code attached. This modification solves both garbage in TriangleStrip/TriangleFans and FBO problems. So a complete succes for me ;-) I am posting it on osg users forum instead of osg submissions because I expecty we want some discussion before submitting it. I don't know how this workaroud should be additionaly wrapped. In this form its alredy rather non aggressive - second wglMakeCurrent will be called fairly seldom. What additional conditions we would like to see tested before applying this worakoround. Any suggestions ? Should I check GL_VENDOR, GL_RENDERER, GL_VERSION strings ? Does OSG offer some methods to query OS, drivers version ? Maybe othe places in the code are more appriopriate for this call. Cheers, Wojtek Hi Everyone, Lets get back to the main topic of this thread ie garbage in Multicore CPU / NVidia / DualView / Window XP. I attached my OpenGL repro for those who are interested. I would be grateful if somoene could check if my threading code is OK (and maybe simplify it). If it is, I will try to submit the bug to NVidia. Check out what happens when repeatMakeCurrent variable gets changed to non zero value. This causes repetition of wglMakeCurrent and fixes the issue. I will try to check this method in OSG next week. I am heading back home for the weekend. I will stay online but I don't have multicore CPU there so I won't be able to check codes till monday. Cheers, Wojtek Lewandowski Hi Robert, Paul and J-S, I don't think I was clear enough. Its too early to say that wglMakeCurrent will be a good workaround for OSG. I only said that it relaxed the problem in my OpenGL repro. It looks like first wglMakeCurrent (when renderer thread is started) does not initialize properly some internal OpenGL context data. If I repeat it in second frame everything becomes correct. So if wglMakeCurrent was a solution it would be needed only once more on frame. But I learned all this using my open gl repro without Display Lists and to be honest I did not checked what will happen if DisplayLists are generated on a first frame (like OSG does). I suspect they might stay screwed even if second wglMAkeCurrent gets called. I am currently trying to check this out. I just need some more time to investigate. I got some questions regarding this issue so I decided to inform guys for whom this is relevant by posting on osg-users. I am certainly far from proposing fixes at this moment. Wojtek Hi Wojciech, On Fri, May 9, 2008 at 2:16 PM, Wojciech Lewandowski [EMAIL PROTECTED] wrote: Problem could be relaxed when wglMakeCurrent gets called before each frame rendering. I noticed that artifacts appeared when wglMakeCurrent was called only once while worker rendering thread initialization . When wglMakeCurrent was called every frame artifacts did not appear. wglMakeCurrent shouldn't be required if one has a thread per context, one a thread does a wglMakeCurrent() it shouldn't release the context till this thread calls release context (done with wglMakeCurrent(_hdc, NULL)). As you are finding that the wglMakeCurrent() per frame is required, this either suggests that the OpenGL driver is playing fast and loose with the graphics context behind the scenes so the app looses the context being current, in which case this is very much a driver bug, or that the OSG itself is doing makeCurrent on the context from another thread or releasing the context when it shouldn't. Could you put some debug output into GraphicsWindowWin32.cpp's makeCurrentImplementation(..) and relaseContextImplementation(..) to see if there are being called when you wouldn't expect, printing out the pointer to the current thread would be useful as well. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org
Re: [osg-users] Community Documentation Initiative [Was: Too muchsupport!!!!!]
Hi For 1) please go a head and update the wiki :) For 3) See Paul an Bobs enhance OSG documentation and books http://www.skew-matrix.com/books.asp -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of John Vidar Larring Sent: Wednesday, May 28, 2008 10:21 AM To: OpenSceneGraph Users Subject: [osg-users] Community Documentation Initiative [Was: Too muchsupport!] Hi all, I have tried to resist to reply to the Too much support thread for over a week now, but now there's just something I'd like to share on a related topic. I'm a total newbe to OSG and as a newbe I hunger for info. Here's a few things that I am really missing, and I think most of these things can be done by the community rather than Robert: 1) There are lots of excellent example programs provided with OSG. However, I sometimes find it hard to find the example I need to study to solve my newbe questions. What I'd really like to see on the wiki is a list of all the example programs with ditto summary of what features they demonstrate and techniques used. 2) Summary and detailed documentation of the tools that come with VPB. 3) For all OSG classes, I'd love to see more high-level class information (e.g. purpose, etc.). For certain classes that implements special programming techniques, it would be wonderful if the documentation included a link to external resources explaining the technique in general. Simple example: Current documentation of osg::observer_ptr: /** Smart pointer for observed objects, that automatically set pointers to them to null when they deleted. */ ...could be changed to: /** Weak pointer for observed objects, that automatically set pointers to them to null when they deleted. * @see http://en.wikipedia.org/wiki/Weak_reference */ Documentation submissions could be marked with doc-only or similar topic tags. These suggestions have arisen from my own personal needs for documentation, so I am sure that other things can be done as well. I, for one, intend to add more documentation as I start to figure things out, and I hope other will do the same, both newbies and experts alike. IMHO I believe that an improved documentation can also help reduce the general support load on Robert, or at least facilitate newbies in asking more intelligible questions. After subscribing to osg-users for a few weeks, I know that there are lots of users out there that know an awful lot about undocumented OSG tools/examples/features/classes. I hope I have managed to convince at least some of you to participate in a community documentation initiative. Best regards, John -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. ___ 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] Community Documentation Initiative [Was: Too much support!!!!!]
Hello John, I'm a total newbe to OSG and as a newbe I hunger for info. Here's a few things that I am really missing, and I think most of these things can be done by the community rather than Robert: All three of your ideas are really good and pretty easy to do. Some comments: 1) There are lots of excellent example programs provided with OSG. However, I sometimes find it hard to find the example I need to study to solve my newbe questions. What I'd really like to see on the wiki is a list of all the example programs with ditto summary of what features they demonstrate and techniques used. Excellent idea. There have been requests before to document the examples themselves (code comments), but this is a big job and hard to coordinate. However, a wiki page which lists all the examples ('ls OpenSceneGraph/examples', copy-paste) could then be filled by people gradually... In general, I think the wiki could use a chief editor. Some info is well categorized, but other info is a bit scattered. But before this happens, I think we need to be able to create accounts on the wiki so that people are accountable for their changes. 2) Summary and detailed documentation of the tools that come with VPB. Check the archives, Robert has stated that once the major work he is doing on these was done, he would start documenting them. They are currently moving targets, so any formal documentation might be out of date really quickly. But if anyone has the time, they can start and at least write the parts for the tools that look like they're stable. 3) For all OSG classes, I'd love to see more high-level class information (e.g. purpose, etc.). For certain classes that implements special programming techniques, it would be wonderful if the documentation included a link to external resources explaining the technique in general. Yes, that would be great. In general, the doxygen comments are very low-level implementation details (or what a method does, instead of why it does it). So the kinds of info you're suggesting would help a lot. Documentation submissions could be marked with doc-only or similar topic tags. Another good idea. In general, I think tagging messages would allow Robert to ignore some categories of threads where the subject alone doesn't say enough about it. I hope I have managed to convince at least some of you to participate in a community documentation initiative. Personally, I have always agreed that it was needed. The hard part is coordinating this work and getting it all done, when most users are busy working on their actual jobs. But I think it's a case where if someone steps up and agrees to take charge (I can't in this case, sorry) then the community could make small individual steps that when taken as a whole, would count for a lot. I hope this becomes a reality soon. I'll certainly participate. Thanks, J-S -- __ Jean-Sebastien Guay[EMAIL PROTECTED] http://www.cm-labs.com/ http://whitestar02.webhop.org/ ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Plugin problems with Visual Studio 2008
Your question is way too vague and contains no information which can let people try to help you See http://www.catb.org/~esr/faqs/smart-questions.html _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of lucas Grijander Sent: Wednesday, May 28, 2008 10:15 AM To: OpenSceneGraph Users Subject: [osg-users] Plugin problems with Visual Studio 2008 Dear all, I just upgrade my Visual Studio 2005 to 2008 and now I get always the same warning: could not find plugin to read object... Do you have any idea of what I should modify? or whether it is compatible or not? thanks Jaime. _ Discover the new Windows Vista Learn more! http://search.msn.com/results.aspx?q=windows+vistamkt=en-USform=QBRE ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Plugin problems with Visual Studio 2008
lucas Grijander wrote: all the applications run ok. I only get this warning when I use plugins (jpeg in my case). I recompile OSG and my application using VS 2008, but I installed the 3rdParty package from here: https://osgtoy.svn.sourceforge.net/svnroot/osgtoy/3rdParty/branches/ I think they provide binaries for Visual Studio 8.0, so maybe that's the problem. You can try setting the environment variable OSG_NOTIFY_LEVEL to INFO. That will print out a lot of log information, including which shared library was used for loading files. Paul Jaime. Date: Wed, 28 May 2008 09:24:56 -0500 From: [EMAIL PROTECTED] To: osg-users@lists.openscenegraph.org Subject: Re: [osg-users] Plugin problems with Visual Studio 2008 what plugin? what object? what 3rdParty libraries? did you rebuild all binaries after installing? is it possible old binaries are installed and being found somewhere? do any non-plugin apps run ok? etc etc -- mew -Original Message- From: [EMAIL PROTECTED] [mailto:osg-users- [EMAIL PROTECTED] On Behalf Of lucas Grijander Sent: Wednesday, May 28, 2008 9:15 AM To: OpenSceneGraph Users Subject: [osg-users] Plugin problems with Visual Studio 2008 Dear all, I just upgrade my Visual Studio 2005 to 2008 and now I get always the same warning: could not find plugin to read object... Do you have any idea of what I should modify? or whether it is compatible or not? thanks Jaime. Discover the new Windows Vista Learn more! http://search.msn.com/results.aspx?q=windows+vistamkt=en- USform=QBRE ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org Connect to the next generation of MSN Messenger Get it now! http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-ussource=wlmailtagline ___ 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] Parallel Split Shadow Map (Update)
Hi Robert, can you might post a screenshot of your terrain running with PSSM? one trick would be to limit the frustum with the option --maxFarDist 250 for 250meter. this will help to win performance, because we just render a smaller scene, and the shadow quality become better. i guess we don't need to shadow a whole terrain, only a sub-scene close enough to the camera. /adrian 2008/5/28 Robert Osfield [EMAIL PROTECTED]: Thanks Adrian, changes now merged and submitted. Could you please check what I have checked in matches your latest. A couple of general comments - the chess.ive looks great with the new updates PSSM, but for town models I have things only work OK when looking near to straight down and close to the ground, looking along the ground the results are extremely shaky and unusable. Robert. On Fri, May 23, 2008 at 8:11 AM, Adrian Egli OpenSceneGraph (3D) [EMAIL PROTECTED] wrote: Latest Version to Test, i tested this on: ATI X1600 M : Windows Vista osgshadow --pssm --SingleThreaded --screen 0 -3 2008/5/21 Adrian Egli OpenSceneGraph (3D) [EMAIL PROTECTED]: Hi all again, now i came from ATI X1600M test, same artifact as you described, small shadowed line. i will try to figure out where it comes from. i guess we have to set another polygonoffset. 0.5,0.5 is may not as good as it seams to be. may -0.5,-0.5 or -1.0,-1.0 will work for ATI and NVidia. please check this with the option for polygonoffset and tell me what is a good offset. thanks adrian 2008/5/21 Ralph Kern [EMAIL PROTECTED]: Adrian Egli OpenSceneGraph (3D) schrieb: Hi all, i still come around with some changes. :-) now the near - far clip plane are more optimized, but i hope it's shows still correct shadows for all of your test cases. Its updated with latest PSSM version (from this morning,MEZ) http://webaddon3d.assoftware.ch/AE/PSSM_SHADOW_TEST_OpenSceneGraph_WIN32.rar (use the demo.bat) and in the attachement you will find the latest source. test osgshadow --pssm --SingleThreaded --no-base-texture just checked again. I removed the other two REM's on PATH and LIBRARY_PATH to get the program running. Works on WinXP SP2 GeForce FX5700, but slow frame rate (2.3 fps). On WinXP SP2 ATI X1600 dual monitor the park scenes run fine using screen 0 with 70 fps. There is a small lit line ( 1 pix wide) around the buildings like a self shadow offset which is to large. Chess scene is still entirely black. regards Ralph ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Adrian Egli -- Adrian Egli ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Adrian Egli ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Parallel Split Shadow Map (Update)
Ok, i will do a review. May there is still a newer version of PSSM on the other developing system. cu adrian 2008/5/28 Robert Osfield [EMAIL PROTECTED]: Hi Adrian, I forgot to mention, on review I spotted that you'd added a: osg::Light* _userLight; Which raises a red flag, as a possible cause for a dangling pointer to be introduced. A better pointer type would probably be a ref_ptr or observer_ptr. I have followed up on all the different code paths that set/use this pointer so it may be perfect safe, but I thought I'd raise a flag now and let you review the code in the context of what happens when external objects get deleted. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Adrian Egli ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Rendering the scene multiple timeswith differentshaders.
From: [EMAIL PROTECTED] [mailto:osg-users- [EMAIL PROTECTED] On Behalf Of Viggo Løvli Sent: Monday, May 26, 2008 6:07 PM To: OpenSceneGraph Users Subject: Re: [osg-users] Rendering the scene multiple timeswith differentshaders. ... (I am a bit fresh in the world of OSG and OpenGL (I have a decade worth of Direct-X experience (from the game-industry))). ... Hi Viggo, Welcome to OpenGL and OSG! It's nice to hear of someone coming from the DX world (too often there's an impression of migration going the other direction) And thanks for the detailed explanation. What you're doing is quite different than what I thought you were proposing, so now I will step back. cheers -- mew ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Plugin problems with Visual Studio 2008
Hi, Yes, one level deeper you'll see the choices are: https://osgtoy.svn.sourceforge.net/svnroot/osgtoy/3rdParty/branches/3rdP arty_win32binaries_vs71/ https://osgtoy.svn.sourceforge.net/svnroot/osgtoy/3rdParty/branches/3rdP arty_win32binaries_vs80sp1/ vs2008 I believe is vs9 so there are not prebuilts for that version there. Maybe someone else has some? -- mew -Original Message- From: [EMAIL PROTECTED] [mailto:osg-users- [EMAIL PROTECTED] On Behalf Of lucas Grijander Sent: Wednesday, May 28, 2008 9:44 AM To: OpenSceneGraph Users Subject: Re: [osg-users] Plugin problems with Visual Studio 2008 all the applications run ok. I only get this warning when I use plugins (jpeg in my case). I recompile OSG and my application using VS 2008, but I installed the 3rdParty package from here: https://osgtoy.svn.sourceforge.net/svnroot/osgtoy/3rdParty/branches/ I think they provide binaries for Visual Studio 8.0, so maybe that's the problem. Jaime. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Plugin problems with Visual Studio 2008
I think it contains enough details. It concerns the plugins, it says it was working with the version 2005, and now it does not work with 2008. It is clearly a compilation issue regarding Visual Studio. Jaime. From: [EMAIL PROTECTED] To: osg-users@lists.openscenegraph.org Date: Wed, 28 May 2008 11:03:50 -0400 Subject: Re: [osg-users] Plugin problems with Visual Studio 2008 Your question is way too vague and contains no information which can let people try to help you See http://www.catb.org/~esr/faqs/smart-questions.html From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of lucas Grijander Sent: Wednesday, May 28, 2008 10:15 AM To: OpenSceneGraph Users Subject: [osg-users] Plugin problems with Visual Studio 2008 Dear all, I just upgrade my Visual Studio 2005 to 2008 and now I get always the same warning: could not find plugin to read object... Do you have any idea of what I should modify? or whether it is compatible or not? thanks Jaime. Discover the new Windows Vista Learn more! _ Connect to the next generation of MSN Messenger http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-ussource=wlmailtagline___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Plugin problems with Visual Studio 2008
exactly, I think I need vs9. Anyway, if I see it's too complex I will reinstall visual studio 2005. Jaime. Date: Wed, 28 May 2008 10:24:01 -0500 From: [EMAIL PROTECTED] To: osg-users@lists.openscenegraph.org Subject: Re: [osg-users] Plugin problems with Visual Studio 2008 Hi, Yes, one level deeper you'll see the choices are: https://osgtoy.svn.sourceforge.net/svnroot/osgtoy/3rdParty/branches/3rdP arty_win32binaries_vs71/ https://osgtoy.svn.sourceforge.net/svnroot/osgtoy/3rdParty/branches/3rdP arty_win32binaries_vs80sp1/ vs2008 I believe is vs9 so there are not prebuilts for that version there. Maybe someone else has some? -- mew -Original Message- From: [EMAIL PROTECTED] [mailto:osg-users- [EMAIL PROTECTED] On Behalf Of lucas Grijander Sent: Wednesday, May 28, 2008 9:44 AM To: OpenSceneGraph Users Subject: Re: [osg-users] Plugin problems with Visual Studio 2008 all the applications run ok. I only get this warning when I use plugins (jpeg in my case). I recompile OSG and my application using VS 2008, but I installed the 3rdParty package from here: https://osgtoy.svn.sourceforge.net/svnroot/osgtoy/3rdParty/branches/ I think they provide binaries for Visual Studio 8.0, so maybe that's the problem. Jaime. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org _ Discover the new Windows Vista http://search.msn.com/results.aspx?q=windows+vistamkt=en-USform=QBRE___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] threading trouble with slave cameras
Thanks for the reply. It actually sounds like you understand my setup perfectly. One graphics window with 7 cameras. The top camera is the one held by the osgViewer::Viewer. It has 3 child cameras. Each of those has one more child camera. The scene is a child of all 6 slave cameras. So I expect 7 cull threads and one draw thread. I also expect getCameras() to return 7 instead of 1, but maybe I just don't understand the correct behavior of this ViewerBase code. The motivation behind all this is that I am displaying 3 views of the same scene from 3 different aircraft. I use 2 cameras for each view because I need better depth precision when rendering. One camera has a frustum from 0.1 to 100.0, and the other has a frustum from 100.0 to 10.0. The cameras are pieced together like this: for 3 different sensors{ sensor.mNearCamera = new CameraNode; sensor.mNearCamera-setReferenceFrame(Transform::ABSOLUTE_RF); sensor.mNearCamera-setComputeNearFarMode(CameraNode::DO_NOT_COMPUTE_NEAR_FAR); sensor.mNearCamera-setClearMask(GL_DEPTH_BUFFER_BIT); sensor.mNearCamera-addChild(mScene.get()); sensor.mFarCamera = new CameraNode; sensor.mFarCamera-setReferenceFrame(Transform::ABSOLUTE_RF); sensor.mFarCamera-setComputeNearFarMode(CameraNode::DO_NOT_COMPUTE_NEAR_FAR); sensor.mFarCamera-setClearMask(GL_DEPTH_BUFFER_BIT); sensor.mFarCamera-addChild(mScene.get()); sensor.mNearCamera-setRenderOrder(Camera::POST_RENDER); sensor.mFarCamera-addChild(sensor.mNearCamera.get()); mRoot-addChild(sensor.mFarCamera.get()); Thanks, Terry Message: 10 Date: Wed, 28 May 2008 09:03:41 +0100 From: Robert Osfield [EMAIL PROTECTED] Subject: Re: [osg-users] threading trouble with slave cameras To: OpenSceneGraph Users osg-users@lists.openscenegraph.org Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=ISO-8859-1 Hi Terry, From your email it's not clear the exact camera/graphics window set up. It does kinda sound like all the cameras share the same graphics window, is this right? If so then you'll only ever be able to have one DrawThread. If you have three slave Camera then in theory you should be able to have six CameraThread. However, from you diagram it seems that you have cameras nested within each other, rather than all the slaves being siblings, and you suggestion that getCameras() returns just one camera suggest that all the cameras are in the scene graph (or perhaps there is a bug). Since there is really too little specific information on your setup I can't really provide any insight or advice. You could explain your motivation for splitting the view up into so may cameras, the number of contexts you are driving, if all the cameras are collaborating on the same view. Also how are you adding the cameras into the setup? Perhaps some code would help. Robert. On Tue, May 27, 2008 at 11:17 PM, Terry Welsh [EMAIL PROTECTED] wrote: Hi, I just tried to replace SceneView with osgViewer::Viewer to take advantage of threading. My scene has 3 views of the same scene with cameras set up like this: Viewer camera / | \ far_cam1far_cam2 far_cam3 | | | near_cam1 near_cam2 near_cam3 (POST_RENDER) (POST_RENDER)(POST_RENDER) \ | / scene The viewer camera is only used for clearing. The near and far cameras are used to render different depth ranges of my scene to prevent a lot of z-fighting; each pair of near/far cameras draws into the same viewport. With no threading, I use 1 core at 100%. With CullThreadPerCameraDrawThreadPerContext I use 1 core at 100% and another core at about 25%. There are still 2 cores that are nearly unused. The other threading modes do not appear to help. I tried to trace through the threading code in ViewerBase a little. In cameras (the vector of osg::Cameras) there is only 1 camera, but I expected to find 7. Is it impossible to have 7 cull threads in this situation, or am I just setting something up wrong? - Terry ___ 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] Workaround for the problems in OSG / XP / multimonitor/ multithreaded / NVidia
Hi Wojtek, thanks for clarification, I've gone ahead and merged the workaround as it looks perfectly benign. On Wed, May 28, 2008 at 3:54 PM, Wojciech Lewandowski [EMAIL PROTECTED] wrote: Hi Robert, I use it and have not observed any issues. I would say its rather safe. I reported this bug to NVidia. And it looks like they are doing something to fix the problem. In the meantime they sent me two bit cryptic emails informing they verified and fixed it. Last email was also saying that fix is awaiting for final verification and closure. I don't know when they make fixed drivers available, though, so I would vote for merging my workaround for time being. I promise I will let you know or even send the submission removing this workaround when NVidia informs me that fixed drivers are available. Cheers, Wojtek Hi Wojtek, I'm just following up on your workaround for the NVidia WindowsXP multi-thread make current bug. Others have reported problems since you posted your fix, and while I know the bug is now Nvidia have acknowledged the problem, we don't yet know how long it might be to a fix... so I'm tempted to merge your workaround. Thoughts? Robert. On Mon, May 12, 2008 at 1:28 PM, Wojciech Lewandowski [EMAIL PROTECTED] wrote: Hi again, I have modified GraphicsWindowWin32::makeCurrentImplementation method. Code attached. This modification solves both garbage in TriangleStrip/TriangleFans and FBO problems. So a complete succes for me ;-) I am posting it on osg users forum instead of osg submissions because I expecty we want some discussion before submitting it. I don't know how this workaroud should be additionaly wrapped. In this form its alredy rather non aggressive - second wglMakeCurrent will be called fairly seldom. What additional conditions we would like to see tested before applying this worakoround. Any suggestions ? Should I check GL_VENDOR, GL_RENDERER, GL_VERSION strings ? Does OSG offer some methods to query OS, drivers version ? Maybe othe places in the code are more appriopriate for this call. Cheers, Wojtek Hi Everyone, Lets get back to the main topic of this thread ie garbage in Multicore CPU / NVidia / DualView / Window XP. I attached my OpenGL repro for those who are interested. I would be grateful if somoene could check if my threading code is OK (and maybe simplify it). If it is, I will try to submit the bug to NVidia. Check out what happens when repeatMakeCurrent variable gets changed to non zero value. This causes repetition of wglMakeCurrent and fixes the issue. I will try to check this method in OSG next week. I am heading back home for the weekend. I will stay online but I don't have multicore CPU there so I won't be able to check codes till monday. Cheers, Wojtek Lewandowski Hi Robert, Paul and J-S, I don't think I was clear enough. Its too early to say that wglMakeCurrent will be a good workaround for OSG. I only said that it relaxed the problem in my OpenGL repro. It looks like first wglMakeCurrent (when renderer thread is started) does not initialize properly some internal OpenGL context data. If I repeat it in second frame everything becomes correct. So if wglMakeCurrent was a solution it would be needed only once more on frame. But I learned all this using my open gl repro without Display Lists and to be honest I did not checked what will happen if DisplayLists are generated on a first frame (like OSG does). I suspect they might stay screwed even if second wglMAkeCurrent gets called. I am currently trying to check this out. I just need some more time to investigate. I got some questions regarding this issue so I decided to inform guys for whom this is relevant by posting on osg-users. I am certainly far from proposing fixes at this moment. Wojtek Hi Wojciech, On Fri, May 9, 2008 at 2:16 PM, Wojciech Lewandowski [EMAIL PROTECTED] wrote: Problem could be relaxed when wglMakeCurrent gets called before each frame rendering. I noticed that artifacts appeared when wglMakeCurrent was called only once while worker rendering thread initialization . When wglMakeCurrent was called every frame artifacts did not appear. wglMakeCurrent shouldn't be required if one has a thread per context, one a thread does a wglMakeCurrent() it shouldn't release the context till this thread calls release context (done with wglMakeCurrent(_hdc, NULL)). As you are finding that the wglMakeCurrent() per frame is required, this either suggests that the OpenGL driver is playing fast and loose with the graphics context behind the scenes so the app looses the context being current, in which case this is very much a driver bug, or that the OSG itself is doing makeCurrent on the context from another thread or releasing the context when it shouldn't. Could you put some debug output into GraphicsWindowWin32.cpp's makeCurrentImplementation(..) and relaseContextImplementation(..)
[osg-users] Operation progress report from OSG Interactive operations [Was: [osg-submissions] Added Vertical Scale in osgTerrain::Terrain]
Hi Robert et. al., I've tested the new vertical scale implementation on osgTerrain::Terrain now and it works great, BUT... The typical osgTerrain databases we would operate on are = 8GB in size (i.e. full gtopo30 + bluemarble 500m + selected areas in higher resolution). When altering vertical scale on such a database, we are talking of more than a few frame drops, the application becomes unresponsive for 16 sec++. Waiting several seconds is not a problem in itself for this interactive operation, as long as I can report to the user that the operation is in progress and when it is completed/finished. However, this is where I need some guidance from experts: How / what's the best way of collecting this information from OSG? If I add an explicit call to _viewer-updateTraversal() after _terrain-setVerticalScale(), then I know when the recalculation of the geometry if completed: case(osgGA::GUIEventAdapter::KEYDOWN): { if (ea.getKey()=='v') { _terrain-setVerticalScale(_terrain-getVerticalScale()*1.25); osg::notify(osg::NOTICE)Vertical scale _terrain-getVerticalScale()std::endl; _viewer-updateTraversal(); osg::notify(osg::NOTICE)Geometry is recalculatedstd::endl; return true; } ... However, I suspect that much more elegant solutions are available; UpdateVistor callbacks maybe? If you point me in the right direction I'll try to implement it. For testing interactions like this on large models I have attached a new example program derived from osgmultitexturecontrol which in the future can be used to demonstrate how to give user feedback for operations that are not real-time (e.g. terrain-setVerticalScale()) My test database based on gtopo30 and bluemarble can be downloaded from: ftp://ftp.weatherone.tv/private/jvl/osgTerrain_globe.tgz (3.1 GB) (This file will be removed before the weekend) Best regards, John Robert Osfield wrote: Hi John, On Tue, May 27, 2008 at 1:14 PM, Robert Osfield [EMAIL PROTECTED] wrote: I haven't tried changing the scale on a existing model yet, for this it might be worth adding an event handling into the osgmultitexturecontrol example that adjusts the sample ratio and vertical scale. I have now added an TerrainHandler to the osgmultitexturecontrol example that increases decreases the sample ratio and vertical scale of the Terrain in response to 'r'/'R' and 'v'/'V' key presses respectively. I have also reorganized the way the the TerrainTile dirty mechanism is managed, this enables the dirty to work on all tiles, with the init on the TerrainTile being called on the next update traversal after changes to the Terrain SampleRatio/VerticalScale have been made. You can a big frame drop with this update so not suitable for real-time work, but it's certainly viable for interactive apps. Robert. ___ osg-submissions mailing list [EMAIL PROTECTED] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org -- Best regards, John WeatherOne -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. osginteractiveterrain_example.tgz Description: GNU Zip compressed data ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] threading trouble with slave cameras
Hi Terry, Thanks for the explanation. Now you just need to re-read you email and map this to osgViewer speak, you'll find it co-indices quite nicely. Taking it apart you say you have: 3 views of the same scene from 3 different aircraft Which means... that you should have three osgViewer::View's that represent the views from the 3 different aircraft. Now osgViewer has two viewers, osgViewer::Viewer which is a osgViewer::View so it can only do one view at time and osgViewer::CompositeViewer which has a list of osgViewer::View(s). So... which one do you want ;-) Have a look at the osgcompositeviewer example to see it in action. Next up you want to doing depth portitioning of your scene, with each View having a two slave Cameras. The slave Camera support comes virtue of the osgViewer:::View base class osg::View. Each view has a master osg::Camera, and an optional list of slave osg::Camera. Note, the slave osg::Camera aren't direct childsren of the View's master osg::Camera, but they have their view and projection matrices updated from the master camera. Note II, osgViewer only threads Camera that are in the viewer, not ones enclosed in the scene graph, so your Camera in Camera won't thread. Note III, the osgdepthpartion node example hasn't yet been ported to work using slave cameras, it needs to be though, as depth portioning is conceptually a viewer centric feature, not a scene graph centric one. Items like shadows or reflections are scene graph centric so are good examples for needing to use a RTT Camera in the scene graph. Robert. On Wed, May 28, 2008 at 4:30 PM, Terry Welsh [EMAIL PROTECTED] wrote: Thanks for the reply. It actually sounds like you understand my setup perfectly. One graphics window with 7 cameras. The top camera is the one held by the osgViewer::Viewer. It has 3 child cameras. Each of those has one more child camera. The scene is a child of all 6 slave cameras. So I expect 7 cull threads and one draw thread. I also expect getCameras() to return 7 instead of 1, but maybe I just don't understand the correct behavior of this ViewerBase code. The motivation behind all this is that I am displaying 3 views of the same scene from 3 different aircraft. I use 2 cameras for each view because I need better depth precision when rendering. One camera has a frustum from 0.1 to 100.0, and the other has a frustum from 100.0 to 10.0. The cameras are pieced together like this: for 3 different sensors{ sensor.mNearCamera = new CameraNode; sensor.mNearCamera-setReferenceFrame(Transform::ABSOLUTE_RF); sensor.mNearCamera-setComputeNearFarMode(CameraNode::DO_NOT_COMPUTE_NEAR_FAR); sensor.mNearCamera-setClearMask(GL_DEPTH_BUFFER_BIT); sensor.mNearCamera-addChild(mScene.get()); sensor.mFarCamera = new CameraNode; sensor.mFarCamera-setReferenceFrame(Transform::ABSOLUTE_RF); sensor.mFarCamera-setComputeNearFarMode(CameraNode::DO_NOT_COMPUTE_NEAR_FAR); sensor.mFarCamera-setClearMask(GL_DEPTH_BUFFER_BIT); sensor.mFarCamera-addChild(mScene.get()); sensor.mNearCamera-setRenderOrder(Camera::POST_RENDER); sensor.mFarCamera-addChild(sensor.mNearCamera.get()); mRoot-addChild(sensor.mFarCamera.get()); Thanks, Terry Message: 10 Date: Wed, 28 May 2008 09:03:41 +0100 From: Robert Osfield [EMAIL PROTECTED] Subject: Re: [osg-users] threading trouble with slave cameras To: OpenSceneGraph Users osg-users@lists.openscenegraph.org Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=ISO-8859-1 Hi Terry, From your email it's not clear the exact camera/graphics window set up. It does kinda sound like all the cameras share the same graphics window, is this right? If so then you'll only ever be able to have one DrawThread. If you have three slave Camera then in theory you should be able to have six CameraThread. However, from you diagram it seems that you have cameras nested within each other, rather than all the slaves being siblings, and you suggestion that getCameras() returns just one camera suggest that all the cameras are in the scene graph (or perhaps there is a bug). Since there is really too little specific information on your setup I can't really provide any insight or advice. You could explain your motivation for splitting the view up into so may cameras, the number of contexts you are driving, if all the cameras are collaborating on the same view. Also how are you adding the cameras into the setup? Perhaps some code would help. Robert. On Tue, May 27, 2008 at 11:17 PM, Terry Welsh [EMAIL PROTECTED] wrote: Hi, I just tried to replace SceneView with osgViewer::Viewer to take advantage of threading. My scene has 3 views of the same scene with cameras set up like this: Viewer camera / | \ far_cam1far_cam2
Re: [osg-users] Operation progress report from OSG Interactive operations [Was: [osg-submissions] Added Vertical Scale in osgTerrain::Terrain]
Hi John, Perhaps a Terrain::init() or update() method would be appropriate - one that goes through all the tiles registered with the terrain and calls init() on them. As for 16 seconds, this is looong time. I am only seeing around a second of time update on a database that is getting on 10TB in size, the trick is it's a paged database and only what is loaded is updated. FYI, the thing that will be taking all the time in the generation will be the display lists/texture object update. Making osgTerrain a bit more intelligent about it's updates it would be possible to just update the existing vertices and normals when changing the scale, something that would be much cheaper. The dirty/update mechinism would have to be alot more sophisticated though. Long term this is where osgTerrain is heading, right now its very much in its infancy. Robert. On Wed, May 28, 2008 at 4:55 PM, John Vidar Larring [EMAIL PROTECTED] wrote: Hi Robert et. al., I've tested the new vertical scale implementation on osgTerrain::Terrain now and it works great, BUT... The typical osgTerrain databases we would operate on are = 8GB in size (i.e. full gtopo30 + bluemarble 500m + selected areas in higher resolution). When altering vertical scale on such a database, we are talking of more than a few frame drops, the application becomes unresponsive for 16 sec++. Waiting several seconds is not a problem in itself for this interactive operation, as long as I can report to the user that the operation is in progress and when it is completed/finished. However, this is where I need some guidance from experts: How / what's the best way of collecting this information from OSG? If I add an explicit call to _viewer-updateTraversal() after _terrain-setVerticalScale(), then I know when the recalculation of the geometry if completed: case(osgGA::GUIEventAdapter::KEYDOWN): { if (ea.getKey()=='v') { _terrain-setVerticalScale(_terrain-getVerticalScale()*1.25); osg::notify(osg::NOTICE)Vertical scale _terrain-getVerticalScale()std::endl; _viewer-updateTraversal(); osg::notify(osg::NOTICE)Geometry is recalculatedstd::endl; return true; } ... However, I suspect that much more elegant solutions are available; UpdateVistor callbacks maybe? If you point me in the right direction I'll try to implement it. For testing interactions like this on large models I have attached a new example program derived from osgmultitexturecontrol which in the future can be used to demonstrate how to give user feedback for operations that are not real-time (e.g. terrain-setVerticalScale()) My test database based on gtopo30 and bluemarble can be downloaded from: ftp://ftp.weatherone.tv/private/jvl/osgTerrain_globe.tgz (3.1 GB) (This file will be removed before the weekend) Best regards, John Robert Osfield wrote: Hi John, On Tue, May 27, 2008 at 1:14 PM, Robert Osfield [EMAIL PROTECTED] wrote: I haven't tried changing the scale on a existing model yet, for this it might be worth adding an event handling into the osgmultitexturecontrol example that adjusts the sample ratio and vertical scale. I have now added an TerrainHandler to the osgmultitexturecontrol example that increases decreases the sample ratio and vertical scale of the Terrain in response to 'r'/'R' and 'v'/'V' key presses respectively. I have also reorganized the way the the TerrainTile dirty mechanism is managed, this enables the dirty to work on all tiles, with the init on the TerrainTile being called on the next update traversal after changes to the Terrain SampleRatio/VerticalScale have been made. You can a big frame drop with this update so not suitable for real-time work, but it's certainly viable for interactive apps. Robert. ___ osg-submissions mailing list [EMAIL PROTECTED] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org -- Best regards, John WeatherOne -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. ___ 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] osgViewer::View::getCameraContainingPosition() returns weird results when using slave cameras
FYI, I have taken the liberty of adding this to the FAQ: http://www.openscenegraph.org/projects/osg/wiki/Support/FAQ#HowdoIembedanOSGviewerina.NETcontrol Glenn On Wed, May 28, 2008 at 3:04 PM, Robert Osfield [EMAIL PROTECTED] wrote: Hi Jason, On Wed, May 28, 2008 at 7:02 PM, Jason Beverage [EMAIL PROTECTED] wrote: In the Producer days, one could just call viewer.setWindow with the window handle to the control, but I can't find an equivalent using the new osgViewer classes. The slave camera approach that Hesicong posted was the closest I could find. You use the Traits.inheritedWindowData member variable to pass in details of the window handle, as Glenn demonstrates in his code segment. The osgviewerMFC, osgviewerQT and osgviewerWX examples also have code paths that do just this too. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Glenn Waldron : Pelican Mapping : http://pelicanmapping.com : 703-652-4791 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] osgViewer::View::getCameraContainingPosition() returns weird results when using slave cameras
Hi Jason, On Wed, May 28, 2008 at 5:48 PM, Jason Beverage [EMAIL PROTECTED] wrote: Did you ever find a fix for this issue? I believe I might be running into the same problem. There is still a problem with the set up of events within CompositeViewer with certainly window/camera combinations, it almost works, but not quite precisely as it should. One can see an artefact in when running: osgcompositeviewer cow.osg Try using the trackball manipulator in the lower right cow view. The mouse interactive doesn't quite behave as it should suggesting that the x,y projected into the local view aren't correct. I haven't looked at this issue recently, but the last time I looked I couldn't spot the cause. I really need to just spend a day going through the code with a fine tooth comb to spot what is happening to the mouse events as they are processed. Events needs to be processed by the CompositeViewer as it has to decide event focus to the correct view, then handle slave cameras etc, to projected the mouse coords into a consistent coordinate frame for a single view - it's a lot more complex that one would at first expect, the internal complexity comes from hiding the actual complexity of the setup. I can't tackle this bug hunt right away as I've already spent most of this week on submissions/bug fixing and need to get on with other work... I'll try to make time to resolve this next week. Ping me next week if I haven't started work on it. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Openthreads problem on 64 bit windows system.
Hi Guys, This sounds like a problem in the thread scheduler under WindowsXP 64bit, something you'll probably just have work around rather than be able to fix it via mods to OpenThreads side. As an experiment try setting the processor affinity on each of the threads so that they are on different cores, this might give the scheduler more of hint of what to do and where. And if you have a choice of OS, perhaps WindowsXP 64 ain't the best in the world to go for... Robert. On Wed, May 28, 2008 at 7:40 PM, Cysneros, Nelson SPAWAR [EMAIL PROTECTED] wrote: Thank you for the suggestions. Here are the results: (1) replace the microsleep with the OpenThreads::Thread::YieldCurrentThread() report what happens Works a little better. seems to stay on one thread for about a minute or so and then jump to the next thread for about a minute and repeats. Still not what I was expecting where the thread jumps back and forth without delay. (2) replce the microsleep only in the Thread class / method with YieldCurrentThread report what happens About the same as #1, but the time in each thread seems to last a lot longer. Probably due to the microsleep time. if both test are also negative, then replace microsleep with void millisleep( unsigned int milliseconds ) { # ifdef _MSC_VER // If its Visual C++ call Win32 Sleep function ::Sleep( milliseconds); #else // Else assume a UNIX/Linux system with nanosleep function timespec ts; ts.tv_sec = milliseconds / 1000; ts.tv_nsec = (milliseconds - ts.tv_sec*1000) * 100; ::nanosleep(ts, NULL); # endif } what happens ? Seem to behave as the original application did, where only one thread is being called. I did however use System::Threading::Thread::Sleep instead of ::Sleep in order to compile. I'll take a look at the links you send and report back if I get it solved. Thanks again for your help. :) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Adrian Egli OpenSceneGraph (3D) Sent: Tuesday, May 27, 2008 11:31 PM To: OpenSceneGraph Users Subject: Re: [osg-users] Openthreads problem on 64 bit windows system. Hi nelson, i remeber a problem i got long time ago with openthreads and windows, even on a 32 bit system. i located that we go an issue on windows system with the sleep method. (windows native). so can you try following: (1) replace the microsleep with the OpenThreads::Thread::YieldCurrentThread() report what happens (2) replce the microsleep only in the Thread class / method with YieldCurrentThread report what happens if both test are also negative, then replace microsleep with void millisleep( unsigned int milliseconds ) { # ifdef _MSC_VER // If its Visual C++ call Win32 Sleep function ::Sleep( milliseconds); #else // Else assume a UNIX/Linux system with nanosleep function timespec ts; ts.tv_sec = milliseconds / 1000; ts.tv_nsec = (milliseconds - ts.tv_sec*1000) * 100; ::nanosleep(ts, NULL); # endif } what happens ? Have also a look into: and search in google with adrian egli / openthreads / sleep http://www.openscenegraph.org/projects/osg/changeset/5313 2008/5/28 Cysneros, Nelson SPAWAR [EMAIL PROTECTED]: I'm having a problem with an existing application that runs well on a 32-bit windows XP (VS 2003) system, but does not seem to work when ran on a 64-bit windows XP (VS 2003) system. I narrowed down the problem to Openthreads, seems that my threaded while loop never (or rarely) gets called. I was able to recreate the problem with this simple program below. It runs two threads, both printing a message to the screen. Only one message is displayed on a 64bit machine. I turned on OSG notification to DEBUG, but no extra information is displayed. Has anyone else experience this problem? Am I doing something wrong? Thanks in advance. /// //Header file MutexTest.h /// #ifndef __MUTEXTEST_H_ #define __MUTEXTEST_H_ #include OpenThreads/Thread #include OpenThreads/Mutex #include OpenThreads/Barrier #include OpenThreads/Block #include OpenThreads/ScopedLock #include iostream class MutexTest : public OpenThreads::Thread { public: MutexTest(); ~MutexTest(); //Functions virtual void run(); void quit(); void printHello(); void setMutex(OpenThreads::Mutex* newValue); OpenThreads::Mutex* getMutex(); private: mutable OpenThreads::Mutex* _mutex; }; #endif /// //Source file MutexTest.cpp /// #include MutexTest.h MutexTest::MutexTest(){ _mutex = new OpenThreads::Mutex(); } MutexTest::~MutexTest(){ std::coutMutexTest Test Shuting
Re: [osg-users] Please test SVN of OpenSceneGraph and VirtualPlanetBuilder in prep for dev releases
Hi All, I've made a number of merges of submissions and fixes from myself today, but I've run out of day to make a 2.5.1 dev release today, so I'll tag it tomorrow. So... I'd appreciate so more build and execution testing of the svn version of the OSG. Thanks, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] NaN errors appearing in transparency sorting
Hi All, One of the tasks I've been doing over the last few days was investigating a crash in RenderBin::sortBackToFront() - this is called whenever we have a transparent bin in our scenes. The particular crash was happening in a std::sort on a std::vectorRenderLeaf* using a simple functor for the comparison. The crash being triggered by the functor referencing a corrupted pointer, despite all the pointers being passed into the sort being perfectly OK, somehow the std::sort itself was screwing up, and what was triggering it was RenderLeaf._depth values of NaN. It's pretty odd that std::sort would crash just because of NaN's but that's what happening. The fix for the crash was to discard all RenderLeaf with NaN depths, and as part of this detection code I've added a warning that is now emitted any time the sort of the transparent bin finds a NaN depth. In theory it should only occur when we have corrupted data, at leasts that's the theory. I've been testing out various models I have here, and a few town models I have found have corrupted data in them somewhere, even some NodeKits are generating dodgy data... just running osgparticle reveals lots of problems. What this tells me is that we have problems lurking both in the data and some scene graph classes that are resulting in problems, it could be that CullVisitor is also generating errors along the way. Either way it looks like problems have been lurking under the hood in some areas, and the NaN detection code I added this afternoon has now shone a light on it. So... please test the SVN version of the OSG and let me know if you get lots of : Warning: RenderBin::copyLeavesFromStateGraphListToRenderLeafList() detected NaN depth values, database may be corrupted. Spewing out, once per frame to your console. It'd be useful to get feedback on what types of models and OSG effects are generating these errors so when can get an idea of where we should be looking further upstream to track down the sources of the NaN in the first place. It might be that we should write a custom NodeVisitor to catch problems or perhaps add detection in to some loaders. It also might help us fix a few bugs that have been lurking unseen for a while. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] 3D Text looks funky under PSSM?
Hi all After much work I've managed to get PSSM working on my application (yay), but I've noticed for some reason 3D text under it looks really strange, as if it had a black background around each letter (af is the transparency was broken). So far the only solution I've found is to add 3D text as a sibling to the ShadowedScene, so shadows are not computed on it and it looks fine. I wanted to ask if this is a known issue and if there happens to be a way to protect a node from receiving shadows other than using the node mask, since PSSM ignores the ReceiveShadowMask. Thanks in advance, Alejandro.- -- [EMAIL PROTECTED] http://varrojo.linuxuruguay.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] osgViewer::View::getCameraContainingPosition() returns weird results when using slave cameras
Hi Glenn and Robert, Glenn, your code worked great, thanks alot, I really appreciate it. The posts from you and Hesicong over the last few months about using OSG via C++/CLI have made using OSG in a .NET environment much nicer than what we were previously doing. Robert, I'm in no major hurry to get that issues fixed since I'm just using osgViewer::Viewer and things seem to be working as expected correctly now. Thanks for all your help! Jason On Wed, May 28, 2008 at 3:12 PM, Robert Osfield [EMAIL PROTECTED] wrote: Hi Jason, On Wed, May 28, 2008 at 5:48 PM, Jason Beverage [EMAIL PROTECTED] wrote: Did you ever find a fix for this issue? I believe I might be running into the same problem. There is still a problem with the set up of events within CompositeViewer with certainly window/camera combinations, it almost works, but not quite precisely as it should. One can see an artefact in when running: osgcompositeviewer cow.osg Try using the trackball manipulator in the lower right cow view. The mouse interactive doesn't quite behave as it should suggesting that the x,y projected into the local view aren't correct. I haven't looked at this issue recently, but the last time I looked I couldn't spot the cause. I really need to just spend a day going through the code with a fine tooth comb to spot what is happening to the mouse events as they are processed. Events needs to be processed by the CompositeViewer as it has to decide event focus to the correct view, then handle slave cameras etc, to projected the mouse coords into a consistent coordinate frame for a single view - it's a lot more complex that one would at first expect, the internal complexity comes from hiding the actual complexity of the setup. I can't tackle this bug hunt right away as I've already spent most of this week on submissions/bug fixing and need to get on with other work... I'll try to make time to resolve this next week. Ping me next week if I haven't started work on it. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] 3D Text looks funky under PSSM?
Hi Alejandro, I wanted to ask if this is a known issue and if there happens to be a way to protect a node from receiving shadows other than using the node mask, since PSSM ignores the ReceiveShadowMask. I haven't checked, but perhaps you could try to attach an empty osg::Program to the text nodes? (just new osg::Program) Let us know if this works. J-S -- __ Jean-Sebastien Guay[EMAIL PROTECTED] http://www.cm-labs.com/ http://whitestar02.webhop.org/ ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org