[osg-users] OpenSceneGraph-2.1.9 dev version released

Paul Melis paul at science.uva.nl
Wed Sep 5 04:16:27 PDT 2007


Hello Steffen,

Steffen Frey wrote:

>> Can you detail the depth peeling example a bit more (the code doesn't 
>> have any hints), e.g.
>> - what are the h.w. requirements for running it?
>> - is it supposed to be stable? (I get a segfault here)
>> - can you use any scene with transparency, or is there something special 
>> to set up with renderbins, etc.?
>
>
> There is actually a LaTex file I wrote in order to clarify things. 
> Unfortunately, it didn't make it into the osgdepthpeeling folder. So 
> it's attached to this mail for a start and probably we should add it 
> (or maybe a plain text version) to the folder for future releases. 
> Transparency should simply be ignored, which is ok for depth peeling I 
> think.

What exactly do you mean by "ignored"? Does it mean that transparency 
information of geometry is not used to control the depth peeling 
process? Or that transparency is ignored completely? The reason I'm 
interesented in depth peeling in the first place is that it can provide 
correct transparency rendering without explicit geometry sorting. 
Rendering with depth peeling of geometry that doesn't have transparency 
seems a bit useless.

> It's considered to be stable in the way, that I tested it extensively 
> on a few machines and everything worked out fine. But actually I would 
> have been rather surprised if nobody had experienced problems with it. 
> Please be more precise on what it took for the segfault to occur.

Nothing special, I just ran osgdepthpeeling cow.osg. The program runs 
for a few seconds, showing nothing but the text and fps counter at the 
bottom of the screen. After that it goes down. I just ran it and got a 
"Illegal Instruction" with the following stack trace:

#0  0xb678b6ca in ?? ()
#1  0x091e007b in ?? ()
#2  0x0189007b in ?? ()
#3  0x0019b75a in osg::State::applyTextureAttribute (this=0x915c790, 
unit=0, attribute=0xb5500108)
    at /home/paul/c/osg-svn/include/osg/StateAttribute:219
#4  0x00191976 in osgText::Text::renderOnlyForegroundText 
(this=0x91ecf78, state=@0x915c790, colorMultiplier=@0x1892bc4)
    at /home/paul/c/osg-svn/src/osgText/Text.cpp:1971
#5  0x001926d8 in osgText::Text::drawImplementation (this=0x91ecf78, 
state=@0x915c790, colorMultiplier=@0x1892bc4)
    at /home/paul/c/osg-svn/src/osgText/Text.cpp:1583
#6  0x001927bd in osgText::Text::drawImplementation (this=0x91ecf78, 
renderInfo=@0x1892ea8)
    at /home/paul/c/osg-svn/src/osgText/Text.cpp:1470
#7  0x008678bf in osgUtil::RenderLeaf::render (this=0xb550fe60, 
renderInfo=@0x1892ea8, previous=0x0)
    at /home/paul/c/osg-svn/include/osg/Drawable:868
#8  0x0085e56f in osgUtil::RenderBin::drawImplementation 
(this=0xb55111e0, renderInfo=@0x1892ea8, previous=@0x1893144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderBin.cpp:408
#9  0x0085e1ad in osgUtil::RenderBin::draw (this=0xb55111e0, 
renderInfo=@0x1892ea8, previous=@0x1893144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderBin.cpp:373
#10 0x0085e5ff in osgUtil::RenderBin::drawImplementation 
(this=0xb5510f00, renderInfo=@0x1892ea8, previous=@0x1893144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderBin.cpp:458
#11 0x00870fed in osgUtil::RenderStage::drawImplementation 
(this=0xb5510f00, renderInfo=@0x1892ea8, previous=@0x1893144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderStage.cpp:1051
#12 0x0085e1ad in osgUtil::RenderBin::draw (this=0xb5510f00, 
renderInfo=@0x1892ea8, previous=@0x1893144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderBin.cpp:373
#13 0x008715d1 in osgUtil::RenderStage::drawInner (this=0xb5510f00, 
renderInfo=@0x1892ea8, previous=@0x1893144, doCopyTexture=@0x1892ec8)
    at /home/paul/c/osg-svn/src/osgUtil/RenderStage.cpp:719
#14 0x008709d4 in osgUtil::RenderStage::draw (this=0xb5510f00, 
renderInfo=@0x909b20c, previous=@0x1893144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderStage.cpp:913
#15 0x00868996 in osgUtil::RenderStage::drawPostRenderStages 
(this=0x909c560, renderInfo=@0x909b20c, previous=@0x1893144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderStage.cpp:1069
#16 0x0087084d in osgUtil::RenderStage::draw (this=0x909c560, 
renderInfo=@0x909b20c, previous=@0x1893144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderStage.cpp:979
#17 0x00885143 in osgUtil::SceneView::draw (this=0x909b1b0) at 
/home/paul/c/osg-svn/src/osgUtil/SceneView.cpp:1456
#18 0x002da4f5 in osgViewer::Renderer::draw (this=0x909aab8) at 
/home/paul/c/osg-svn/src/osgViewer/Renderer.cpp:382
#19 0x002db98d in osgViewer::Renderer::operator() (this=0x909aab8, 
context=0x90b9dd8)
    at /home/paul/c/osg-svn/src/osgViewer/Renderer.cpp:571
#20 0x0054e47b in osg::GraphicsContext::runOperations (this=0x90b9dd8) 
at /home/paul/c/osg-svn/src/osg/GraphicsContext.cpp:671
#21 0x00551687 in osg::RunOperations::operator() (this=0x915f048, 
context=0x90b9dd8) at /home/paul/c/osg-svn/src/osg/GraphicsThread.cpp:134
#22 0x00551526 in osg::GraphicsOperation::operator() (this=0x915f048, 
object=0x90b9dd8)
    at /home/paul/c/osg-svn/src/osg/GraphicsThread.cpp:50
#23 0x0057764a in osg::OperationThread::run (this=0x915edd0) at 
/home/paul/c/osg-svn/src/osg/OperationThread.cpp:413
#24 0x00551756 in osg::GraphicsThread::run (this=0x915edd0) at 
/home/paul/c/osg-svn/src/osg/GraphicsThread.cpp:38
#25 0x001cf796 in OpenThreads::ThreadPrivateActions::StartThread 
(data=0x915ede0)
    at /home/paul/c/osg-svn/src/OpenThreads/pthreads/PThread.c++:158
#26 0x009b3bd4 in start_thread () from /lib/libpthread.so.0
#27 0x00ca64fe in clone () from /lib/libc.so.6

Most of the time it crashes at this point (segfault):

#0  0x0053f65b in std::vector<osg::Vec3f, std::allocator<osg::Vec3f> 
 >::_M_fill_insert (this=0xb5505a98, __position=
      {_M_current = 0x8d82000}, __n=376, __x=@0x19bb5fc)
    at 
/usr/lib/gcc/i386-redhat-linux/4.0.2/../../../../include/c++/4.0.2/bits/stl_construct.h:81
#1  0x00ceb0b2 in osgText::Text::computePositions (this=0x8d54f78, 
contextID=0)
    at 
/usr/lib/gcc/i386-redhat-linux/4.0.2/../../../../include/c++/4.0.2/bits/stl_vector.h:658
#2  0x00cefda9 in osgText::Text::drawImplementation (this=0x8d54f78, 
state=@0x8cc4790, colorMultiplier=@0x19bbbc4)
    at /home/paul/c/osg-svn/src/osgText/Text.cpp:1545
#3  0x00cf07bd in osgText::Text::drawImplementation (this=0x8d54f78, 
renderInfo=@0x19bbea8)
    at /home/paul/c/osg-svn/src/osgText/Text.cpp:1470
#4  0x002838bf in osgUtil::RenderLeaf::render (this=0xb55014d8, 
renderInfo=@0x19bbea8, previous=0x0)
    at /home/paul/c/osg-svn/include/osg/Drawable:868
#5  0x0027a56f in osgUtil::RenderBin::drawImplementation 
(this=0xb552c1e0, renderInfo=@0x19bbea8, previous=@0x19bc144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderBin.cpp:408
#6  0x0027a1ad in osgUtil::RenderBin::draw (this=0xb552c1e0, 
renderInfo=@0x19bbea8, previous=@0x19bc144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderBin.cpp:373
#7  0x0027a5ff in osgUtil::RenderBin::drawImplementation 
(this=0xb552bff8, renderInfo=@0x19bbea8, previous=@0x19bc144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderBin.cpp:458
#8  0x0028cfed in osgUtil::RenderStage::drawImplementation 
(this=0xb552bff8, renderInfo=@0x19bbea8, previous=@0x19bc144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderStage.cpp:1051
#9  0x0027a1ad in osgUtil::RenderBin::draw (this=0xb552bff8, 
renderInfo=@0x19bbea8, previous=@0x19bc144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderBin.cpp:373
#10 0x0028d5d1 in osgUtil::RenderStage::drawInner (this=0xb552bff8, 
renderInfo=@0x19bbea8, previous=@0x19bc144, doCopyTexture=@0x19bbec8)
    at /home/paul/c/osg-svn/src/osgUtil/RenderStage.cpp:719
#11 0x0028c9d4 in osgUtil::RenderStage::draw (this=0xb552bff8, 
renderInfo=@0x8c0320c, previous=@0x19bc144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderStage.cpp:913
#12 0x00284996 in osgUtil::RenderStage::drawPostRenderStages 
(this=0x8c04560, renderInfo=@0x8c0320c, previous=@0x19bc144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderStage.cpp:1069
#13 0x0028c84d in osgUtil::RenderStage::draw (this=0x8c04560, 
renderInfo=@0x8c0320c, previous=@0x19bc144)
    at /home/paul/c/osg-svn/src/osgUtil/RenderStage.cpp:979
#14 0x002a1143 in osgUtil::SceneView::draw (this=0x8c031b0) at 
/home/paul/c/osg-svn/src/osgUtil/SceneView.cpp:1456
#15 0x0034d4f5 in osgViewer::Renderer::draw (this=0x8c02ab8) at 
/home/paul/c/osg-svn/src/osgViewer/Renderer.cpp:382
#16 0x0034e98d in osgViewer::Renderer::operator() (this=0x8c02ab8, 
context=0x8c21dd8)
    at /home/paul/c/osg-svn/src/osgViewer/Renderer.cpp:571
#17 0x0056347b in osg::GraphicsContext::runOperations (this=0x8c21dd8) 
at /home/paul/c/osg-svn/src/osg/GraphicsContext.cpp:671
#18 0x00566687 in osg::RunOperations::operator() (this=0x8cc7048, 
context=0x8c21dd8) at /home/paul/c/osg-svn/src/osg/GraphicsThread.cpp:134
#19 0x00566526 in osg::GraphicsOperation::operator() (this=0x8cc7048, 
object=0x8c21dd8)
    at /home/paul/c/osg-svn/src/osg/GraphicsThread.cpp:50
#20 0x0058c64a in osg::OperationThread::run (this=0x8cc6dd0) at 
/home/paul/c/osg-svn/src/osg/OperationThread.cpp:413
#21 0x00566756 in osg::GraphicsThread::run (this=0x8cc6dd0) at 
/home/paul/c/osg-svn/src/osg/GraphicsThread.cpp:38
#22 0x009c2796 in OpenThreads::ThreadPrivateActions::StartThread 
(data=0x8cc6de0)
    at /home/paul/c/osg-svn/src/OpenThreads/pthreads/PThread.c++:158
#23 0x003a6bd4 in start_thread () from /lib/libpthread.so.0
#24 0x00e8d4fe in clone () from /lib/libc.so.6

This is with a post-2.1.9 SVN version.

Paul



More information about the osg-users mailing list