A colleague of mine has found a "fix" for this issue. I think that the question 
now is, is it a "bug" in OSG

or us using OSG improperly (in that case should / could it be prevented).



The fix is as follow (modify EffectDecorator.h in provided code):


class CameraCullCallback : public osg::NodeCallback
      {
        public:
          CameraCullCallback(osg::Group* fx) : m_fx(fx)
          { }
          virtual void operator()(osg::Node*, osg::NodeVisitor* nv)
          {
             osgUtil::CullVisitor* cv = dynamic_cast<osgUtil::CullVisitor*>(nv);
             if(cv && (cv->getCurrentRenderStage() != cv->getRenderStage()))
             {
                
cv->getCurrentRenderStage()->setInheritedPositionalStateContainer(cv->getRenderStage()->getPositionalStateContainer());
             }
             m_fx->osg::Group::traverse(*nv);
          }

        private:
          osg::observer_ptr<osg::Group> m_fx; /// group which has the scene 
under it
      };





cheers,





guillaume





-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Poirier, 
Guillaume
Sent: September-27-11 11:13 AM
To: OpenSceneGraph Users
Subject: Re: [osg-users] Lighting problem when using help or stats handler



I have attached a simple example that reproduces the problem. I am not sure if 
this is a OSG problem or if we are not using it properly.



The problem occurs when more than 2 pre-render stages are cascading (as 
described in previous post of thread), as the inherited 
PositionalStateContainer will stop at the 2nd stage and not be pushed on the 
following cascading pre-rendering stages, which happens in our scene graph (and 
reproduced in the attached example).



Run the example, see the cow with green specular light. Press 'h'. The cow does 
not change. Now set MULTIPLE_PRERENDER_STAGES = true in prerenderbin.cpp line 
26. Repeat the above procedure. The lighting changes when the help is 
displayed...





cheers,





guillaume






PK

€=?
prerenderbin/PKe|:?7”%Ž)prerenderbin/CMakeLists.txt•TMoÚ0¾#ñ,Æ!½Pm“vëÁI
ÍâÈvPw²Râ¶ÖH’ 
vCü÷½v€@Ú‰Ä<~ž÷ێýN<á¬+U©"SՓ.n†ƒá`™§?•Ìu¡óM.+õk£+•9Âx@#ôeòmòÕçØcԘ͈a=ÀËe˜„K‰#_úî
µ 4¥Œ`ïÞYé'4Þí
ÏU3ÎxÛâ;T®ë?*C£ñä»ÊÔÓæåðw¼õæøHŸ¸ÉLƔ‹ið¸Yë$òOÀ‡ƒô³ƒ"*y
¸àà˜D‹-å3É(O›I®ê:}QšbCI£2¨á²)«ßè ¸ëËQVªeƒÔ»®k
Ú>oÀèpP«Æ±Z?`¨/5ÔiñÆXÜ·¤ òÂÄ'†ÌQY¿Ü.TUë²@†ÂÏô·ºX®6™:‡'“ä
…â$Ö  
8ü]ú2ÝØy4kS9°÷UþqɆÎô˜Ç~ØÌÏwÍ{†Í›¿¦YùfVB½7æ›4ze¾­ÞTeVqZ5z¹Rˆ®U!^+•fµe”«M®Ìjžz½Y¥Ð˜áàÄ·I6ˆóAöÚÒ$òÑç#–p"Gp4<˜0‚\JC4JjeèV;†‚,0yQ·;8砝ÞKeWÃNفÿ£45…§Uv
 Èl°œçÊa‚!n÷Ob„„Zs2Ã-    ‹ƒÎN±9h}Ù8Ë “íÃé_R’3Ï“åzmAòüÍW˲2m¼^C
»s€}_’Gâ%»!éù‚ÈÎ]ïnlHruÀ5& 
—¾°ÃÑþ¦•!vIhfþDxNv£Û£‰ˆ“V}iÍfôÏkÍéï¤wGzׁ¿PK¹X;?éHbø1
á" prerenderbin/EffectDecorator.cppµi“Ò0ô»3þ‡¨3ZœŠºú    VQ…z:L¶
´ZLRp=þ»ï%½K<ÐÙ
É»¯¼—½Dn{Œ\,ÌU}ærAmÿòÅ/dç÷¹\Þ|ÌøŠ)qþ°zðBðO€ð¨vôœ*|uä‚‹UíüU˜ý:É¥ õý™O=&–…s©”L(½+UK¤ò:
   ¼£%ÙH4‡½)‹`5sYÄȃ‹!—7<ðȊ‘…«ù]Öûß³!Ëpî°¯=΅÷þÖGò7žÇ¡
ÒÝ[÷ÊÐ/¸кP©òV+‡ú‰«{Z‚2/öÊ«IW됉“>‘xÒhû`úl­|
XƒÜ0÷„lƒÈãÛYðiR›ï=rŠ+öUłô­T8»bȶT­ŠáN]¦rjE ›7É$VëX™ók’x¨’M"®È—˜zé©SÖÊ×EÓÛ
òµ¿ÖvñB%]:Ê†Õ"ÚS2ßžò­[-›Ì},}닾ñÖe°íšEh,#æiôáj¾~    
kÈ:ÌÛȀNGoÜ«ÜxH=¯/薞…ÌҐ®`T1Ç(ë!dšÂæü5sïX7nÛðåË÷Nì[•[ö  
ì´ZÀ9›“™ò3¦®-ÆlFTDZ25=-F
lµ´ì)ʍ‡’©çl=ÍûƒΓ¹3˜9vCWANœÅŠu:“ÓÓ;^L'Πçú{¨†Ÿ8ÃñãÿAûÑh0îÿá4 „NwÜd
•Mù‚ÇKŸ¬MIL2/
¥IŠ'X:~
屨TT«°—¦Îà­ÝP9Û.l@ˆçä1·Ž :í>~>ƒ“2(+kb=¡\×®
Qw82Ê~28}LW̺\ؽŒð)\izsf
/É?E»$Ÿu9-Ž—mrÉäD²Ò”PÚG$ƒ5”n—(½Éj:lýFœ¼þ_ÎóÿÄX¤ýY,w#3AZÆbuƒÚä÷×.JEª›Ô<
Eå8¼Ü\)Bî\£ê:å\•Ê2dé "°¾1k—X,^[A¤ˆ¾l‚Ks)¯ÁV|Èë¡ՀPI”ÏÎ)
Ƀó³8Õn‘n<4è½*÷. Pl¯2 V±é`JïH2uœ”Ó,    UP»tµXFD›@=|5ž
ýù£wÎ@ïL?êæc³¿Ó
ǃît÷në^•¿Ž½)“à¡1^ð-“…³åOÀžÖ‚†’ÕÔ1-AU)ÃO°Å|­Äý"ó“þC‚üò¬J|]Ò¢–n7Ú0RLD4<…h¤*¿{“ç/&c(™Í¨‰L¶ÔmáBý´æYøÞ£«¢ž=
xoT¡ÂFBñr«´‡a†áu?[Hߐ.m+?­=$BF…n³îå.D·þ÷;´çT~Fkö&£ÉtþèÕéé~
òƒd6ÎwwÓ9“O:f°±Zíý̆‹T Î­f1^'}ž–ØøÇ¸§eÊ’Óe§p™'-]6Iu:ÓÁ¨ë
_æÓÓf&ï'BßÁ¹K±ò"ô,ƒéï*@ó!VШIQû"-}Ÿ?¤ö›<z:èí1a½<¼‘ÐGíàJ•¢®_–¹        
v±¸˜š¥bôØÅÌ̈ÕÛ»¬)žOgà[×o¨K…yÆ¢®™ª1YLàüLëóLí³4*šu§Òùü¤³ÿúW«u0IÌrj»°¿ai
   
lгú`P¡ab.Ut­cjMØ¿Ñ7Èò¹u(™ß$k÷Ñl2zå`²h7hKôõlíã­ìP)3ŠÅMhœë*}C2áUv÷ŽyØ6ðM`F™ûƒƒØüéäw“?+ê¶Í½¶?`r?îlüµ¤VÞÏ/BN•éZ¶ù’\G¥jHØ{¦åJˆf÷µÞ”¨@`{JvX
 
º$<ÂÓ¼¬Il¤IBQÁPËݐ=’¾=YÉ3U‹P!Ēw®ÙÓÈ#g2º¦ %¦Ñ’¶®8X%KŽd“Ÿò©>³Ü*Õÿãæ•ã8Ý.ÝG1Û3V¸P^ѵ¯Tµß^2€£«ÄÝdƒ…Ë#©ÒQ…®ýÀ•=¡ùt¡
À×•ùýðP2-Þϰ®à$»1Íuó
k*¸WÜ5$½€ðÒΣ¼Š‹„‡:>É¥dnV?~ôÈD«>K— žøI A{Ùq‚û B,0sš¡b§äÍéÏ,7à‡ã3Hˆ0ä[|²…+Ä
À=‚,_™4 "à±DÃã›ßBĺ~|‰8(5U6ق…ýœ~,f‡ÝH®„!|‘÷b—OªMHŸ£`’“@âóÑ0׿Œ0„`܀¼+ŽÍä9!*R§#¼¯»ÔRv2‹‚>&púÒMC-
!2fl•Н   5Åä2Z"uÌm|¶Å¡vKșâ‘[5çtNZ!-š±0v#>]C’ áqú‚¶Ä¸m·ÛdÀåŒÄ“ƒá
ÔUº ÅHŽÁR䪍A €YÎ$P 
]xN@s†<k—C!Ä8AùÖ{˜ä$‘q9$¤®@cBUp!ßAszS»&©XÀ‡Ù”‡²žÒæÏØ6Z"CSP”ŠþÔ䁏آ÷teB,çêêh+ÞÊÏYòˆÃïÍp4‚ÌO
¯È”‚Kú\ä”F‰µÍ2žÚ3Æñ×$Xó·Ø×5sQtÅ1†Øj­Î¡šžq困£hD´÷š‰Ì?À1sk±
$³3ˆŒmѕ[‡    钜£‚dG¨
$OÄžZvΈ[3wZ9‘2        Oؚ؜ØPôvU…VŠŽŸflóΐ:½Éçåº  
¡<åxœäÏXf7`AÚyä)j°z¹Á¼ªíÅ\—­ñZiÝCŽI@ó´!hœ¸x¤ÿĢݜ³æR݀q™”Ä<H®¶¡°®×Ú2soÿæ^NÔN†1 f÷r”ÝËØÇX‘6vrꜯÑɐ*<Ó¾èwaˆx=œ
ÉT{<¿öògȜ7Nn.Ue+¶7ðW'τŽùÔíÜD©f“]Äj@»èýÔ?L…Ç£÷j4JMA®^MÙzç]înuW[tý¡u˜W¬§»¨ëØÓ‚[•üOüL¢¦ü”x½@•¿ß™wãäÍØÆ~úˆÏã¢)0¦¬ú…1ý”Þí㈗mOáiÚø›¬‚È|³÷ÀЯæÛ±*•)¾¢éma1—öÞãüµ½ìh€÷¾óª#wÕ®gYÛOOw¿÷–ÝPASã²rÑ
¡S]]9}Äñðùstå̸À*íùp<?ŽxÖÊ]yb÷qŽH¿îDDTÐÞL»/æ3;qáðNŸÚB08Œ
‹ó/PKe=?—g^é“prerenderbin/EffectDecorator.hVmoÚ0þ>iÿá¦IU@­ö1¬H…mÒÖuÀ¶ÈÄb-ؙíê~ûÎN҄¦ªHç|Ïs¾Wó6Ól½a d„¯_½±äÃd:ŒËÛÉøëìfñu¶üH{´!$žÜsH¥9Gx¯ÌzðA«<u¤¨8v¤c¶AÍ:âîm®ñÝmgçŽXÆ,MW,ú5êØþnE:çiúCa•öQʌIcdo1RšÑ„å«TD@°0ôg~ýêðú@¹ú5=ܧ
zC¢öÊZYÚANú•òVh›³þvPpx¬Õ`ÐCëꣶ¨µ 
OlB_ÍèÕ‰U°B`«ݒeYúà5Ðs7ð;a•[HØVȵSÆ}FŽ‹1h=ÌDHy\k–%Q¸mr¯4Rh@¦Œ­Þ"Ÿ)S©÷mg·JðêØø¨ºd•™¸¹í
kcÕj0uš"‡]‚Œøƒä(arü4F™EÐÖåL’¥¢DªyóÎÉ<„´ä·É%¸e‚bØsÆÇ¹±jCV9DT8.rŒsÀ¤mÓ$Œ“wZ¿YFf%dãMPc6ª.
 ê¡[wˆùqÞ+[uw‰ˆ¤²À(\"å b¨‰œ´8{à•]X‰€ 
•£QÙH½nV‹¦)|w.T=×ê›f;VÐC¹hvRãT'Hƒºûï{dd³Œ÷-›ÀÔÍÓ-=•aÙduñõ/¡]ˆ}*ÄëÓ[U§’×§ÜÁ5ðÉ6"ZFÌØ÷'õFAQéVDqqôs5Z£çšÒjg>µsËÖHâÍ5ÛÇò^¯ÃwèHèñꫵÇ'™ 4®îW(ÉRÚ¶8VÒ2šð:8eÝKÎ!èpÃÎQÛð½ՙçaÑw;Jƒ‡7êH‹-™l’çR+ƒšh–™Õïkö‘·7ô-¾v¨{ n¢Ü7•xš¢eÞºÝ$¡çÒϕaKXL­ü/
̈:C‹Ôj4ÆõÙËû°ŽY6w<DC;C8¬oÌ# ‰‡mP'R
kEÖ¿P»Ì”rßkE·ÈfTƒ¤ 
ð¶ÿcxîiÓͨíK±S͞i÷»±ÒÍ3“ăæl“¥¨_„½ÅÌ&/$ø)$W»9Ý?Ç峸˔¶ð;gçK‰“¥ìá¼
ÿ/ë(£ßï¤M~Cý[NðºpúPܳ¥ 
hvš¿QËÛôò¨Q?|vBûáe¹v>2[½Ñ5Œ©—aì‡áT¤¶(=ØY¼ÁuKénr3›ÌÏåaû—óü¤¿HžeG‹¥éPŒ?ß|¹>=MàFg1uÞR‹øPKZƒ<?ÌÆg¥Î
prerenderbin/prerenderbin.cppWmoÓ0þÞ_aŠéÔõeB€J‰4ºnTڛÚ'/¹¤†Ô®lge¼üwÎvÒ&iZû4wÏsw¾Ûk<g<HÒÈP¨¸+!º[ié7Êò³Ý)Ððœ%àïh¾H¦Á©Êº‹Óî\ÒàÛ=M’+ÊÙ*M¨h¼Ššiªaº*£>3Xƒìº—_«‰åJ(ŒåȽÆÀõGÊä*¹bBi
     tY6ÇQ>ƒ@H[gÑl4×dI÷ˆùEe´I° ’áÇi5~6!èy08•qºD·T*vŸÊ{ayßzרÀ³"
íǵÁ'*ä=±7¢ÂfÝkbÝAEs¯)ҕO¤mpX“­ØqÁ•&÷B$äêÓå|r{9¾»Ž§ãë³ñôn6?½ϐªe
5N*ùñ   ”ýÌk÷îŸ
ì3d,±ÈÛ{˰ æo'ºcŸ†áhÁ’ЫúëÄ ½Vë]=ó¤À´*›$
þîµÌE¼-Õþ°ú%즹ƒÊûò6
çyõéjÁ5\Ãw=|a<kÆãÙ£Ò°œ XF4€#²VŒ¼ßÃÂHö=tgëB¼ghb[ƒ<.4‹=×ç7óÉhÜ›c)…l.ˆ3\±Jèe
   ½OŽr´Aœ
dmáªÓ•ÀùÎ+'A§’“~VóL¹b1‡Ð0rC½h“°x¡
È,úØÇÕÍÐ:ð)(‘¤š îÕçÁÁ&!p\ä÷Zí²Õ}ã¹kwM¦•O´}g=jÎÐÇþw$ô{½’ì±Ffƒ³ò“W%…
5o^¿-)\‚]šTd;B       ŠKó!Ŏ•uz…{$„Yüè=1+>‰ƒ½Mè "öœK7+ÛVŒƒÎMXˆ²ƒ
9¹>¿1íHHn×µ#YPEî±ÖYۅD¥AJEi’<Vš/3Þíb   ©®R  D/¨ÆGÞ´„)$`Rƒ§Ê7 
eP€s€.¢ä*)qoÀw"R¹õ')j¥1ÁÉ×T9ðŠJì'<;'èç!D‚µI— éKe÷•@Nf7Ž}t<2‘ŽÐ¡t©ú
Á«ÈëuN¢vöxµû^dҾ˼¢ê›wqy7º¹¼™Þ}øt~>Æ×dN~”žoçÒÊnúÄM¤¶j}råŒÏêöjÞG6)n&«:òj»ÖkÌ¢×D9â8ä§s·kK—ØS+ð¾#Mc`éëáÒ@ýŒñ>³Mmå›=Ö³úBkÛ?+´ÑÌ2Wۊy=¬P›ôísû;;V²³£ƒgY‚g>gӜ[gTSϜW…AÛ9²­äµ
¹Â[SÖbÍCèÏYóy›Ýo#éµ{íò>Ö®ì^ã¨nq°»Ê9…KiÉÅé`Pw³Ý–³f'Iis0-·gæê®ÀŽ­J¬ñö³ÌêˆvE9ÞÛɋý¸‘#;X±ìu¤xqöêܸD’ƒ¼êèw*S"óéþ‡—Ý+Øøö|a®ßxÝùòÔž¡Ëú-nÑyïȔ›ÞÉð¥²ÿfH"‡$B¬›ëL>£È0ûÀïÆPK

€=?
prerenderbin/PKe|:?7”%Ž) 
+prerenderbin/CMakeLists.txtPK¹X;?éHbø1
á"  
òprerenderbin/EffectDecorator.cppPKe=?—g^é“ 
a
prerenderbin/EffectDecorator.hPKZƒ<?ÌÆg¥Î
 †prerenderbin/prerenderbin.cppPKif
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to