Steven A. White ARA/SED | 6 Jul 19:02 2015

Android - corrupt block passed to dlfree

I’ve been chasing a problem for the last few days regarding OSG and Android.  Today I finally decided to work forward from the osgAndroidExcmpleGLES2 from the osg example source.  The issue manifested very quickly in the application startup so I am fairly sure I’ve built my Android ARM OSG libraries incorrectly.

 

The symptom seems to be a block of uninitialized memory being passed to a dlfree call .  The back trace can start from numerous sources based on the example code, but the failure is always based in std::allocator<char> >::~basic_string().   I would normally blame STL incompatibilities, but with the osgAndroidExampleGLES2 I can confirm that both the APK and the OSG libs were compiled against gnustl_static so I wouldn’t expect this to be the core conflict.

 

Does anyone have an idea on common pitfalls which could cause this type of behavior? 

 

 

4.087.028_msm8974_LNX.LA.3.5.2.2_RB1__release_AU ()

I/Adreno-EGL( 7544): OpenGL ES Shader Compiler Version: E031.24.00.15

I/Adreno-EGL( 7544): Build Date: 07/31/14 Thu

I/Adreno-EGL( 7544): Local Branch:

I/Adreno-EGL( 7544): Remote Branch: quic/LNX.LA.3.5.2.2_rb1

I/Adreno-EGL( 7544): Local Patches: NONE

I/Adreno-EGL( 7544): Reconstruct Branch: AU_LINUX_ANDROID_LNX.LA.3.5.2.2_RB1.04.04.04.087.028 +  NOTHING

W/EGLview ( 7544): creating OpenGL ES 2.0 context

W/IInputConnectionWrapper( 1460): showStatusIcon on inactive InputConnection

D/dalvikvm( 7544): Trying to load lib /data/app-lib/osg.AndroidExample-1/libosgNativeLib.so 0x41be9e18

I/ActivityManager(  777): Displayed osg.AndroidExample/.osgViewer: +278ms

I/Timeline(  777): Timeline: Activity_windows_visible id: ActivityRecord{41ac1290 u0 osg.AndroidExample/.osgViewer t155}                                                                                                                                                           time:183309031

I/WindowManager(  777): Screen frozen for +256ms due to Window{41a71c80 u0 Starting osg.AndroidExample}

I/Timeline( 7544): Timeline: Activity_idle id: android.os.BinderProxy <at> 41be1018 time:183309056

F/libc    ( 7544): invalid address or address of corrupt block 0x772b385c passed to dlfree

F/libc    ( 7544): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 7568 (Thread-1245)

I/DEBUG   (  359): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

I/DEBUG   (  359): Build fingerprint: 'samsung/kltetmo/kltetmo:4.4.2/KOT49H/G900TUVU1BNH5:user/release-keys'

I/DEBUG   (  359): Revision: '14'

I/DEBUG   (  359): pid: 7544, tid: 7568, name: Thread-1245  >>> osg.AndroidExample <<<

I/DEBUG   (  359): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad

I/DEBUG   (  359): Abort message: 'invalid address or address of corrupt block 0x772b385c passed to dlfree'

I/DEBUG   (  359):     r0 00000000  r1 40121d6e  r2 deadbaad  r3 401258e2

I/DEBUG   (  359):     r4 772b385c  r5 40130180  r6 400d1000  r7 772b3864

I/DEBUG   (  359):     r8 78bf6b60  r9 75e40168  sl 78bf6288  fp 75e40170

I/DEBUG   (  359):     ip 00000001  sp 75e40118  lr 400f370b  pc 400f370c  cpsr 60000030

I/DEBUG   (  359):     d0  2064696c61766e69  d1  2073736572646461

I/DEBUG   (  359):     d2  657264646120726f  d3  6f6320666f207373

I/DEBUG   (  359):     d4  5056746f446e202a  d5  70732020200a203b

I/DEBUG   (  359):     d6  2b2072616c756365  d7  67694c5f6c67203d

I/DEBUG   (  359):     d8  0000000000000000  d9  0000000000000000

I/DEBUG   (  359):     d10 0000000000000000  d11 0000000000000000

I/DEBUG   (  359):     d12 0000000000000000  d13 0000000000000000

I/DEBUG   (  359):     d14 0000000000000000  d15 0000000000000000

I/DEBUG   (  359):     d16 202020200a200a20  d17 465f6c6720202020

I/DEBUG   (  359):     d18 6f6c6f43746e6f72  d19 6f6c6f63203d2072

I/DEBUG   (  359):     d20 20200a200a203b72  d21 2020200a207d2020

I/DEBUG   (  359):     d22 200a2065736c6520  d23 20200a207b202020

I/DEBUG   (  359):     d24 3f8fcf32d797aef0  d25 3f3052f5e30e9be2

I/DEBUG   (  359):     d26 3f435c6a06d3f812  d27 3f12f714115285d3

I/DEBUG   (  359):     d28 3f145163e2128ba2  d29 3fb5442cbe6c5c90

I/DEBUG   (  359):     d30 bef375cbdb605373  d31 3f72b7bd6def46f5

I/DEBUG   (  359):     scr 60000012

I/DEBUG   (  359):

I/DEBUG   (  359): backtrace:

I/DEBUG   (  359):     #00  pc 0001170c  /system/lib/libc.so (dlfree+1191)

I/DEBUG   (  359):     #01  pc 0000dc5b  /system/lib/libc.so (free+10)

I/DEBUG   (  359):     #02  pc 0006953c  /data/app-lib/osg.AndroidExample-1/libosgSim.so (std::basic_string<char, std::c                                                                                                                                                          har_traits<char>, std::allocator<char> >::~basic_string()+92)

I/DEBUG   (  359):     #03  pc 0003510d  /data/app-lib/osg.AndroidExample-1/libosgSim.so (osgSim::OverlayNode::getOverla                                                                                                                                                          yData(osgUtil::CullVisitor*)+788)

I/DEBUG   (  359):

I/DEBUG   (  359): stack:

I/DEBUG   (  359):          75e400d8  78bf630c

I/DEBUG   (  359):          75e400dc  75e400e0  [stack:7568]

I/DEBUG   (  359):          75e400e0  78bf62b8

I/DEBUG   (  359):          75e400ec  40130180

I/DEBUG   (  359):          75e400f0  400d1000

I/DEBUG   (  359):          75e400f4  400f4a65  /system/lib/libc.so

I/DEBUG   (  359):          75e400f8  40121d6e  /system/lib/libc.so

I/DEBUG   (  359):          75e400fc  75e4010c  [stack:7568]

I/DEBUG   (  359):          75e40100  401258e2  /system/lib/libc.so

I/DEBUG   (  359):          75e40104  400f370b  /system/lib/libc.so (dlfree+1190)

I/DEBUG   (  359):          75e40108  40121d6e  /system/lib/libc.so

I/DEBUG   (  359):          75e4010c  772b385c

I/DEBUG   (  359):          75e40110  401258e2  /system/lib/libc.so

I/DEBUG   (  359):          75e40114  00000000

I/DEBUG   (  359):     #00  75e40118  4012c000  /system/lib/libc.so

I/DEBUG   (  359):          75e4011c  75e4016c  [stack:7568]

I/DEBUG   (  359):          75e40120  78bf5400

I/DEBUG   (  359):          75e40124  75e4016c  [stack:7568]

I/DEBUG   (  359):          75e40128  78bf54d0

I/DEBUG   (  359):          75e4012c  400efc5d  /system/lib/libc.so (free+12)

I/DEBUG   (  359):     #01  75e40130  00000000

I/DEBUG   (  359):          75e40134  7769f540  /data/app-lib/osg.AndroidExample-1/libosgSim.so (std::basic_string<char,                                                                                                                                                           std::char_traits<char>, std::allocator<char> >::~basic_string()+96)

I/DEBUG   (  359):     #02  75e40138  78bf5400

I/DEBUG   (  359):          75e4013c  75e4016c  [stack:7568]

I/DEBUG   (  359):          75e40140  78bf5588

I/DEBUG   (  359):          75e40144  7766b111  /data/app-lib/osg.AndroidExample-1/libosgSim.so (osgSim::OverlayNode::ge                                                                                                                                                          tOverlayData(osgUtil::CullVisitor*)+792)

I/DEBUG   (  359):

 

 

 

 

Steven A White, Ph.D

Southeast Division

Applied Research Associates, Inc.

8537 Six Forks Road, Suite 600

T: (919)582-3300 

 

<div>
<div class="WordSection1">
<p class="MsoNormal">I&rsquo;ve been chasing a problem for the last few days regarding OSG and Android. &nbsp;Today I finally decided to work forward from the osgAndroidExcmpleGLES2 from the osg example source. &nbsp;The issue manifested very quickly in the application startup
 so I am fairly sure I&rsquo;ve built my Android ARM OSG libraries incorrectly. <p></p></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
<p class="MsoNormal">The symptom seems to be a block of uninitialized memory being passed to a dlfree call . &nbsp;The back trace can start from numerous sources based on the example code, but the failure is always based in std::allocator&lt;char&gt; &gt;::~basic_string().&nbsp;&nbsp;
 I would normally blame STL incompatibilities, but with the osgAndroidExampleGLES2 I can confirm that both the APK and the OSG libs were compiled against gnustl_static so I wouldn&rsquo;t expect this to be the core conflict.<p></p></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
<p class="MsoNormal">Does anyone have an idea on common pitfalls which could cause this type of behavior?&nbsp;
<p></p></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
<p class="MsoNormal"><span>4.087.028_msm8974_LNX.LA.3.5.2.2_RB1__release_AU ()<p></p></span></p>
<p class="MsoNormal"><span>I/Adreno-EGL( 7544): OpenGL ES Shader Compiler Version: E031.24.00.15<p></p></span></p>
<p class="MsoNormal"><span>I/Adreno-EGL( 7544): Build Date: 07/31/14 Thu<p></p></span></p>
<p class="MsoNormal"><span>I/Adreno-EGL( 7544): Local Branch:<p></p></span></p>
<p class="MsoNormal"><span>I/Adreno-EGL( 7544): Remote Branch: quic/LNX.LA.3.5.2.2_rb1<p></p></span></p>
<p class="MsoNormal"><span>I/Adreno-EGL( 7544): Local Patches: NONE<p></p></span></p>
<p class="MsoNormal"><span>I/Adreno-EGL( 7544): Reconstruct Branch: AU_LINUX_ANDROID_LNX.LA.3.5.2.2_RB1.04.04.04.087.028 +&nbsp; NOTHING<p></p></span></p>
<p class="MsoNormal"><span>W/EGLview ( 7544): creating OpenGL ES 2.0 context<p></p></span></p>
<p class="MsoNormal"><span>W/IInputConnectionWrapper( 1460): showStatusIcon on inactive InputConnection<p></p></span></p>
<p class="MsoNormal"><span>D/dalvikvm( 7544): Trying to load lib /data/app-lib/osg.AndroidExample-1/libosgNativeLib.so 0x41be9e18<p></p></span></p>
<p class="MsoNormal"><span>I/ActivityManager(&nbsp; 777): Displayed osg.AndroidExample/.osgViewer: +278ms<p></p></span></p>
<p class="MsoNormal"><span>I/Timeline(&nbsp; 777): Timeline: Activity_windows_visible id: ActivityRecord{41ac1290 u0 osg.AndroidExample/.osgViewer t155}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;time:183309031<p></p></span></p>
<p class="MsoNormal"><span>I/WindowManager(&nbsp; 777): Screen frozen for +256ms due to Window{41a71c80 u0 Starting osg.AndroidExample}<p></p></span></p>
<p class="MsoNormal"><span>I/Timeline( 7544): Timeline: Activity_idle id: android.os.BinderProxy <at> 41be1018 time:183309056<p></p></span></p>
<p class="MsoNormal"><span>F/libc&nbsp;&nbsp;&nbsp; ( 7544): invalid address or address of corrupt block 0x772b385c passed to dlfree<p></p></span></p>
<p class="MsoNormal"><span>F/libc&nbsp;&nbsp;&nbsp; ( 7544): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 7568 (Thread-1245)<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359): Build fingerprint: 'samsung/kltetmo/kltetmo:4.4.2/KOT49H/G900TUVU1BNH5:user/release-keys'<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359): Revision: '14'<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359): pid: 7544, tid: 7568, name: Thread-1245&nbsp; &gt;&gt;&gt; osg.AndroidExample &lt;&lt;&lt;<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359): Abort message: 'invalid address or address of corrupt block 0x772b385c passed to dlfree'<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; r0 00000000&nbsp; r1 40121d6e&nbsp; r2 deadbaad&nbsp; r3 401258e2<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; r4 772b385c&nbsp; r5 40130180&nbsp; r6 400d1000&nbsp; r7 772b3864<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; r8 78bf6b60&nbsp; r9 75e40168&nbsp; sl 78bf6288&nbsp; fp 75e40170<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; ip 00000001&nbsp; sp 75e40118&nbsp; lr 400f370b&nbsp; pc 400f370c&nbsp; cpsr 60000030<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d0&nbsp; 2064696c61766e69&nbsp; d1&nbsp; 2073736572646461<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d2&nbsp; 657264646120726f&nbsp; d3&nbsp; 6f6320666f207373<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d4&nbsp; 5056746f446e202a&nbsp; d5&nbsp; 70732020200a203b<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d6&nbsp; 2b2072616c756365&nbsp; d7&nbsp; 67694c5f6c67203d<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d8&nbsp; 0000000000000000&nbsp; d9&nbsp; 0000000000000000<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d10 0000000000000000&nbsp; d11 0000000000000000<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d12 0000000000000000&nbsp; d13 0000000000000000<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d14 0000000000000000&nbsp; d15 0000000000000000<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d16 202020200a200a20&nbsp; d17 465f6c6720202020<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d18 6f6c6f43746e6f72&nbsp; d19 6f6c6f63203d2072<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d20 20200a200a203b72&nbsp; d21 2020200a207d2020<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d22 200a2065736c6520&nbsp; d23 20200a207b202020<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d24 3f8fcf32d797aef0&nbsp; d25 3f3052f5e30e9be2<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d26 3f435c6a06d3f812&nbsp; d27 3f12f714115285d3<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d28 3f145163e2128ba2&nbsp; d29 3fb5442cbe6c5c90<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; d30 bef375cbdb605373&nbsp; d31 3f72b7bd6def46f5<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; scr 60000012<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359): backtrace:<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; #00&nbsp; pc 0001170c&nbsp; /system/lib/libc.so (dlfree+1191)<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; #01&nbsp; pc 0000dc5b&nbsp; /system/lib/libc.so (free+10)<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; #02&nbsp; pc 0006953c&nbsp; /data/app-lib/osg.AndroidExample-1/libosgSim.so (std::basic_string&lt;char, std::c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;har_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::~basic_string()+92)<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; #03&nbsp; pc 0003510d&nbsp; /data/app-lib/osg.AndroidExample-1/libosgSim.so (osgSim::OverlayNode::getOverla&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;yData(osgUtil::CullVisitor*)+788)<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359): stack:<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e400d8&nbsp; 78bf630c<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e400dc&nbsp; 75e400e0&nbsp; [stack:7568]<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e400e0&nbsp; 78bf62b8<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e400ec&nbsp; 40130180<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e400f0&nbsp; 400d1000<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e400f4&nbsp; 400f4a65&nbsp; /system/lib/libc.so<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e400f8&nbsp; 40121d6e&nbsp; /system/lib/libc.so<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e400fc&nbsp; 75e4010c&nbsp; [stack:7568]<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e40100&nbsp; 401258e2&nbsp; /system/lib/libc.so<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e40104&nbsp; 400f370b&nbsp; /system/lib/libc.so (dlfree+1190)<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e40108&nbsp; 40121d6e&nbsp; /system/lib/libc.so<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e4010c&nbsp; 772b385c<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e40110&nbsp; 401258e2&nbsp; /system/lib/libc.so<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e40114&nbsp; 00000000<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; #00&nbsp; 75e40118&nbsp; 4012c000&nbsp; /system/lib/libc.so<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e4011c&nbsp; 75e4016c&nbsp; [stack:7568]<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e40120&nbsp; 78bf5400<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e40124&nbsp; 75e4016c&nbsp; [stack:7568]<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG &nbsp;&nbsp;(&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e40128&nbsp; 78bf54d0<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e4012c&nbsp; 400efc5d&nbsp; /system/lib/libc.so (free+12)<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; #01&nbsp; 75e40130&nbsp; 00000000<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e40134&nbsp; 7769f540&nbsp; /data/app-lib/osg.AndroidExample-1/libosgSim.so (std::basic_string&lt;char,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::~basic_string()+96)<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp; #02&nbsp; 75e40138&nbsp; 78bf5400<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e4013c&nbsp; 75e4016c&nbsp; [stack:7568]<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e40140&nbsp; 78bf5588<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 75e40144&nbsp; 7766b111&nbsp; /data/app-lib/osg.AndroidExample-1/libosgSim.so (osgSim::OverlayNode::ge&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 tOverlayData(osgUtil::CullVisitor*)+792)<p></p></span></p>
<p class="MsoNormal"><span>I/DEBUG&nbsp;&nbsp; (&nbsp; 359):<p></p></span></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
<p class="MsoNormal"><span lang="PT-BR">Steven A White,
</span><span lang="PT-BR">Ph.D
</span><span><p></p></span></p>
<p class="MsoNormal"><span lang="PT-BR">Southeast Division<p></p></span></p>
<p class="MsoNormal"><span lang="PT-BR">Applied Research Associates, Inc.<p></p></span></p>
<p class="MsoNormal"><span lang="PT-BR">8537 Six Forks Road, Suite 600<p></p></span></p>
<p class="MsoNormalCxSpMiddle"><span lang="PT-BR">T: (919)582-3300&nbsp;
</span><span><p></p></span></p>
<p class="MsoNormalCxSpMiddle"><span><p></p></span></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
</div>
</div>
Maxim Kuzmin | 6 Jul 14:20 2015
Picon

Oculus DK2 and intersections

Hi,

I'm working on osg-based application which shows 3d-scene. It can react on some input events, such as
clicks and touches. I'm using IntersectionVisitor and LineSegmentIntersector to determine which
object was clicked/touched. Now I'm interested in having such functionality in Oculus DK2 and I have it,
but determination of clicked object works incorrectly - mistake is minimal in center and maximal on edges
of the screen.

So, the question is - how to make IntersectionVisitor and LineSegmentIntersector work correctly with
Oculus DK2?

Thank you!

Cheers,
Maxim

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=64263#64263

Christian Schulte | 6 Jul 10:05 2015
Picon

force vsync to false (sofware not hardware) on NVidia

Hello everybody,

I'm trying to switch on or off the vsync on my NVidia K4200 on Win7 64 bits by using traits->vsync and setting the NVidia parameter to 'Use Application parameters" for the vsync.

Setting vsync to true, works, I can see the OSG_INFO "GraphicsWindowWin32::setSyncToVBlank" as expected.

The problem is I cannot set it to false, because by default the NVidia behaviour is vsync = true (i.e. if nothing is specified the drivers choice is vsync=true).

After digging a little bit I've found in GraphicWindowWin32.cpp  GraphicsWindowWin32::realizeImplementation() that :
  1. vsync is only changed if it is true -> the setSyncToVBlank(bool) is only called if the traits->vsync is true, so you cannot change it to false.
  2. Removing the protection (if vsync equal true), the setSyncToVBlank is not called either because it is in an if condition depending on vsync equal true (if (_traits.valid() && (_traits->sharedContext.valid() || _traits->vsync || _traits->swapGroupEnabled)))

The question is why is there this double protection on the vsync equal true ? Is there a risk that I don't understand (and then please can someone explain  :-) ) about desactivating the vsync ?

Thanks a lot,

Christian

-- SCHULTE Christian Ingénieur Recherche Responsable du Laboratoire de Simulation ONERA - DCSD/PSEV Département Commande des Systèmes et Dynamique du Vol ONERA - Centre de Salon de Provence BA 701 13661 SALON AIR Cedex - France Tel :04.90.17.01.45
<div>
    Hello everybody,<br><br>
    I'm trying to switch on or off the vsync on my NVidia K4200 on Win7
    64 bits by using traits-&gt;vsync and setting the NVidia parameter
    to 'Use Application parameters" for the vsync.<br><br>
    Setting vsync to true, works, I can see the OSG_INFO
    "GraphicsWindowWin32::setSyncToVBlank" as expected.<br><br>
    The problem is I cannot set it to false, because by default the
    NVidia behaviour is vsync = true (i.e. if nothing is specified the
    drivers choice is vsync=true). <br><br>
    After digging a little bit I've found in GraphicWindowWin32.cpp&nbsp;
    GraphicsWindowWin32::realizeImplementation() that :<br><ol>
<li>vsync is only changed if it is true -&gt; the
        setSyncToVBlank(bool) is only called if the traits-&gt;vsync is
        true, so you cannot change it to false.</li>
      <li>Removing the protection (if vsync equal true), the
        setSyncToVBlank is not called either because it is in an if
        condition depending on vsync equal true (if (_traits.valid()
        &amp;&amp; (_traits-&gt;sharedContext.valid() ||
        _traits-&gt;vsync || _traits-&gt;swapGroupEnabled)))<br>
</li>
    </ol>
<p>The question is why is there this double protection on the vsync
      equal true ? Is there a risk that I don't understand (and then
      please can someone explain&nbsp;<span class="moz-smiley-s1"><span> :-)
        </span></span> ) about desactivating the vsync ?<br></p>
    <p>Thanks a lot,<br></p>
    <p>Christian<br></p>
    -- 
SCHULTE Christian
Ing&eacute;nieur Recherche
Responsable du Laboratoire de Simulation
ONERA - DCSD/PSEV
D&eacute;partement Commande des Syst&egrave;mes et Dynamique du Vol
ONERA - Centre de Salon de Provence
BA 701
13661 SALON AIR Cedex - France
Tel :04.90.17.01.45
  </div>
Tony Vasile | 3 Jul 15:01 2015
Picon

[osgPlugins] osgconv and collada plugin

Hi,
There seems to be a problem with the Collada, boost library and osgconv. If the osgconv is not linked against
libboost_system and libboost_filesystem on a linux system you get errors like:

bin/osgconv: symbol lookup error: /usr/lib/libcollada14dom.so.2: undefined symbol: _ZN5boost10filesystem6detail10status_apiERKSsRNS_6system10error_codeE

and 
Warning: dynamic library '/usr/local/lib/osgPlugins-3.2.1/osgdb_dae.so' exists, but an error
occurred while trying to open it:
/usr/lib/libcollada14dom.so.2: undefined symbol: _ZN5boost6system19get_system_categoryEv
Warning: Write to "test.dae" not supported.

I was compiling and running against collada dom 2.3.1 on my Centos machine. I patched the CMakeFiles.txt to
have the following lines:

Code:

IF(COLLADA_FOUND)
    SET(TARGET_LIBRARIES_VARS
        COLLADA_BOOST_FILESYSTEM_LIBRARY
        COLLADA_BOOST_SYSTEM_LIBRARY)
ENDIF()

and the problem goes away. I'm not sure if I added the lines in the right place. I put the above code before the
SETUP_APPLICATION(osgconv) call.

... 

Thank you!

Cheers,
Tony[/code]

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=64256#64256

Robert Osfield | 3 Jul 12:29 2015
Picon

OpenScenGraph-3.4 branch made, OpenSceneGraph-3.4.0-rc1 tagged

Hi All,

Yesterday evening I made the OpenSceneGraph-3.4 branch and tagged the 3.4.0-release candidate 1 from this.

OpenSceneGraph-3.4 has so many new features and refinements that I won't attempt to list them all here, suffice to say it'll be a grand release :-)

Could the community start testing the 3.4 branch or 3.4.0-rc1 and provide feedback of success or problems on this thread.

I'll be away on holiday for a week so will catch up with you all on my return.

Many thanks to all the contributors and testers,

Robert




<div><div dir="ltr">Hi All,<br><br>Yesterday evening I made the OpenSceneGraph-3.4 branch and tagged the 3.4.0-release candidate 1 from this.<br><ul>
<li>Zip file containing source code :&nbsp;<a href="http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.4.0-rc1.zip"><span class="">OpenSceneGraph-3.4.0-rc1.zip</span></a>
</li>
<li>Subversion tag for 3.4.0-rc1 : svn co&nbsp;<span class=""><a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.4.0-rc1">http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.4.</a>0-rc1 </span>OpenSceneGraph</li>
</ul>
<p>OpenSceneGraph-3.4 has so many new features and refinements that I won't attempt to list them all here, suffice to say it'll be a grand release :-)</p>
<p>Could the community start testing the 3.4 branch or 3.4.0-rc1 and provide feedback of success or problems on this thread.</p>
<p>I'll be away on holiday for a week so will catch up with you all on my return.</p>
<p>Many thanks to all the contributors and testers,</p>
<p>Robert<br></p>
<p><br></p>
<p><br></p>
<br>
</div></div>
sam | 3 Jul 00:55 2015
Picon

QT + OSG Performance Issues

When running the example "osgViewerQt" there is some serious lag / performance issues. Is there something I have to tweak or change in order to get a smooth QT + OSG integration? I'm running QT 5.4.1 and OSG 3.2.1. Thanks.
<div><div dir="ltr">When running the example "osgViewerQt" there is some serious lag / performance issues. Is there something I have to tweak or change in order to get a smooth QT + OSG integration? I'm running QT 5.4.1 and OSG 3.2.1. Thanks.<br>
</div></div>
Sonya Blade | 2 Jul 19:18 2015
Picon

Orientating model in 3D space with quaternions

Dear All,

I load a model with the following code in my program, p1 and p2 are osg::Vec3 type variables and simply representing
the each ends of object in spatial space ( I also use them to find the direction vector). What I want to achive is: to place 
that model up vector always aligned  facing upward ( this doesn't mean that it must coincidence/be parallel with global 
Z axis)  to achieve that  If I apply the quaternions then object is positioned with correct direction vector (calulated via 
p1, p2)  but rolled with arbitrary angle along that direction vector, which violates my conditional goal.

It also seems that it's not a supprise that it produces that result bcoz nowhere I specify the crucial right or up vector with 
quaternion which is required to position the object in 3D space. So How am I supposed to correct that effect either with 
quaternions or matrices ?  

                  loadedModel = osgDB::readNodeFile("quad.obj");
                  osg::Vec3Array* verlist= static_cast<osg::Vec3Array* >(rubber_line->getVertexArray());
                  osg::Vec3 p1 = (*verlist)[0];
                  osg::Vec3 p2 = (*verlist)[1];

                  osg::ref_ptr<osg::PositionAttitudeTransform> Transf = new osg::PositionAttitudeTransform;
                  Transf->setPosition( p1 );

                  osg::Quat quad;
                  osg::Matrix matrix, mat2;

                  quad.makeRotate(osg::Vec3(0,1,0),p2-p1);

                  Transf->setAttitude(quad);
                    Transf->addChild(loadedModel);
                    rootnode->addChild(Transf);


<div><div dir="ltr">Dear All,<div><br></div>
<div>I load a model with the following code in my program, p1 and p2 are osg::Vec3 type variables and simply representing</div>
<div>the each ends of object in spatial space ( I also use them to find the direction vector). What I want to achive is: to place&nbsp;</div>
<div>that model&nbsp;up vector always aligned &nbsp;facing upward ( this doesn't mean that it must coincidence/be parallel with global&nbsp;</div>
<div>Z axis) &nbsp;to achieve that &nbsp;If I apply the quaternions then&nbsp;<span>object is positioned with correct direction vector (calulated via&nbsp;</span>
</div>
<div>
<span>p1, p2) &nbsp;but rolled with arbitrary angle along that direction&nbsp;</span><span>vector, which violates my conditional goal.</span>
</div>
<div><span><br></span></div>
<div><span>It also seems that it's not a supprise that it produces that result bcoz nowhere I specify the crucial right or up vector with&nbsp;</span></div>
<div>
<span>quaternion which is required to position the object in 3D space. So&nbsp;</span><span>How am I supposed to correct that effect either with&nbsp;</span>
</div>
<div><span>quaternions or matrices ? &nbsp;</span></div>
<div><br></div>
<div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; loadedModel = osgDB::readNodeFile("quad.obj");</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; osg::Vec3Array* verlist= static_cast&lt;osg::Vec3Array* &gt;(rubber_line-&gt;getVertexArray());</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; osg::Vec3 p1 = (*verlist)[0];</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; osg::Vec3 p2 = (*verlist)[1];</div>
<div><br></div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; osg::ref_ptr&lt;osg::PositionAttitudeTransform&gt; Transf = new osg::PositionAttitudeTransform;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Transf-&gt;setPosition( p1 );</div>
<div><br></div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; osg::Quat quad;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; osg::Matrix matrix, mat2;</div>
<div><br></div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; quad.makeRotate(osg::Vec3(0,1,0),p2-p1);</div>
<div><br></div>
<div><span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Transf-&gt;setAttitude(quad);</span></div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Transf-&gt;addChild(loadedModel);</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rootnode-&gt;addChild(Transf);</div>
<div><br></div>
<div><br></div>
</div> 		 	   		  </div></div>
HITESH Singhal | 2 Jul 11:14 2015
Picon

.3ds to .osgb file conversion using OSG Exporter

Hi,

I have a .3ds and a .fbx file with me and when I'm converting these in .osgb format using osgexporter in powershell, it is not loading any data. The message which is coming is:
Warning: Could not find plugin to read objects from file C:\Users\Hiteshsinghal\Desktop\My Vizard Tuts\Chair\Chair\Chair.3ds
Warning: Could not find plugin to read objects from file C:\Users\Hiteshsinghal\Desktop\My Vizard..
Error no Data loaded.

Please tell me any solution to this.
-- 
Regards
Hitesh Singhal
Electrical Engineering
+91-8386837430

<div><div dir="ltr">Hi,<div><br></div>
<div>I have a .3ds and a .fbx file with me and when I'm converting these in .osgb format using osgexporter in powershell, it is not loading any data. The message which is coming is:</div>
<div>Warning: Could not find plugin to read objects from file&nbsp;C:\Users\Hiteshsinghal\Desktop\My Vizard Tuts\Chair\Chair\Chair.3ds</div>
<div>Warning: Could not find plugin to read objects from file&nbsp;C:\Users\Hiteshsinghal\Desktop\My Vizard..</div>
<div>Error no Data loaded.</div>
<div><br></div>
<div>Please tell me any solution to this.</div>
<div><div class="gmail_signature"><div dir="ltr">
<div>
<span>--&nbsp;</span><br><div dir="ltr">Regards</div>
</div>Hitesh Singhal<div>Electrical Engineering<br><div>+91-8386837430<br><div><br></div>
</div>
</div>
</div></div></div>
</div></div>
Robert Osfield | 1 Jul 19:11 2015
Picon

VirtualPlanetBuilder-0.9.13 tagged

Hi All,

It's a while since I did work on VirtualPlanetBuilder, but there have been a few build and small improvements fixes been making their way into the code base since the last time I did a dev release so just tagged one:

     http://svn.openscenegraph.org/VirtualPlanetBuilder/tags/VirtualPlanetBuilder-0.9.13

I can't see a reason not to create the VPB-1.0 branch tomorrow when I do the OSG-3.4 branch, if you can think of reason to hold back on pushing for a VPB-1.0 release this month please step forward now :-)

Cheers,
Robert.


<div><div dir="ltr">
<div>
<div>
<div>
<div>Hi All,<br><br>
</div>It's a while since I did work on VirtualPlanetBuilder, but there have been a few build and small improvements fixes been making their way into the code base since the last time I did a dev release so just tagged one:<br><br>&nbsp;&nbsp; &nbsp; <a href="http://svn.openscenegraph.org/VirtualPlanetBuilder/tags/VirtualPlanetBuilder-0.9.13">http://svn.openscenegraph.org/VirtualPlanetBuilder/tags/VirtualPlanetBuilder-0.9.13</a><br><br>
</div>I can't see a reason not to create the VPB-1.0 branch tomorrow when I do the OSG-3.4 branch, if you can think of reason to hold back on pushing for a VPB-1.0 release this month please step forward now :-)<br><br>
</div>Cheers,<br>
</div>Robert.<br><div><div><div>
<br><br>
</div></div></div>
</div></div>
HITESH Singhal | 1 Jul 17:19 2015
Picon

Vizard 3D Model

Hi,

Currently I'm working on a 3D Environment, I need 3D model of a Theater Chair (Picture Hall Chairs). Where can I get the same in osg file.
And how can we create lights in our 3D environment, i.e. to turn on and off a light or making a light?
-- 
Regards
Hitesh Singhal
Electrical Engineering
+91-8386837430

<div><div dir="ltr">Hi,<div><br></div>
<div>Currently I'm working on a 3D Environment, I need 3D model of a Theater Chair (Picture Hall Chairs). Where can I get the same in osg file.</div>
<div>And how can we create lights in our 3D environment, i.e. to turn on and off a light or making a light?<br clear="all"><div><div class="gmail_signature"><div dir="ltr">
<div>
<span>--&nbsp;</span><br><div dir="ltr">Regards</div>
</div>Hitesh Singhal<div>Electrical Engineering<br><div>+91-8386837430<br><div><br></div>
</div>
</div>
</div></div></div>
</div>
</div></div>
Robert Osfield | 1 Jul 07:54 2015
Picon

OpenSceneGraph-3.3.9 dev release tagged

Hi All,

I have just tagged the final dev release in the 3.3.x series,

OpenSceneGraph-3.3.9, released on 1st July 2015, key deliverables in this dev release are:

  • Support added for glClipControl (OpenGL 4.5)
  • Bug and build fixes

source package : OpenSceneGraph-3.3.9.zip

svn tag: svn co http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.3.9 OpenSceneGraph

Tomorrow my plan is to create the OpenSceneGraph-3.4 stable branch from svn/trunk and then tag the 3.4.0-rc1 (release candidate 1).


Thanks to all the contributors,

Robert,


2015-07-01 05:10  robert

    * src/osgWrappers/deprecated-dotosg/osg/ClipControl.cpp,
      src/osgWrappers/serializers/osg/ClipControl.cpp: From Mathias
      Froehlich, added seriliazers for new osg::ClipControl

2015-06-30 09:51  robert

    * AUTHORS.txt, ChangeLog: Updated ChangeLog and AUTHORS files

2015-06-30 09:11  robert

    * include/osg/ClipControl, include/osg/GLExtensions,
      include/osg/StateAttribute, src/osg/CMakeLists.txt,
      src/osg/ClipControl.cpp, src/osg/GLExtensions.cpp: From Mathias
      Froehlich, "Attached a new state attribute implementing the
      glClipControl that appeared with GL4.5."

2015-06-30 08:39  robert

    * src/osgViewer/Viewer.cpp: Quitened down debug for ViewConfig
      argument parsing

2015-06-30 08:38  robert

    * src/osgPlugins/ogr/ReaderWriterOGR.cpp: Build fix for GLDAL>=2

2015-06-26 09:40  robert

    * include/osg/Vec2f: From Christian Kehl, added Vec2::set(const
      Vec2) method

2015-06-19 09:51  robert

    * src/osgUtil/RenderStage.cpp: From Jannik Heller, fixed
      clearReferencesToDependentCameras() calls

2015-06-17 16:25  robert

    * src/osgUtil/GLObjectsVisitor.cpp: Fixed handling of use
      GLObjectsVisitor for modifying scene graph state without
      compiling to OpenGL so that the visitor can be run safely without
      a graphics context being current.

2015-06-16 17:18  robert

    * src/osgQt/CMakeLists.txt: Small tidy up to make script more
      readable.

2015-06-16 17:17  robert

    * src/osgPlugins/qfont/CMakeLists.txt: Added QT_QTCORE_INCLUDE_DIR
      entry to qfont plugin build to fix Qt4 build under Linux

2015-06-15 19:59  robert

    * include/osgQt/GraphicsWindowQt,
      include/osgQt/QFontImplementation,
      include/osgQt/QGraphicsViewAdapter, include/osgQt/QWebViewImage,
      include/osgQt/QWidgetImage, src/osgQt/CMakeLists.txt,
      src/osgQt/Version.in: From Jannik Heller, "I've added the check
      for Qt version mismatches into osgQt as suggested in
      http://forum.openscenegraph.org/viewtopic.php?t=14999.
     
      When an application is built with Qt4, but osgQt was built with
      Qt5 (or vice versa), upon #includeing osgQt users will receive an
      #error aborting the build.
     
      This at least provides a proper error message rather than a
      crash, while we are working on better fixes for the problem."

2015-06-15 13:51  robert

    * include/osg/GLDefines: Experiment with how to define GLsizeiptr.

2015-06-15 13:51  robert

    * CMakeLists.txt: Upated version number



-- ChangeLog since 3.3.8




<div><div dir="ltr">
<div>Hi All,<br><br>
</div>I have just tagged the final dev release in the 3.3.x series, <br><br><p>OpenSceneGraph-3.3.9,&nbsp;released on 1st July 2015, key deliverables in this dev release are:</p>
<ul>
<li><span><span>Support added for glClipControl (OpenGL 4.5)<br></span></span></li>
<li><span><span>Bug and build fixes<br></span></span></li>
</ul>
<p>source package :&nbsp;<a href="http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.3.9.zip">OpenSceneGraph-3.3.9.zip</a></p>
<p>svn tag:&nbsp;svn co&nbsp;<a href="http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.3.9">http://svn.openscenegraph.org/osg/OpenSceneGraph/tags/OpenSceneGraph-3.3.9</a> OpenSceneGraph</p>
<p>Tomorrow my plan is to create the OpenSceneGraph-3.4 stable branch from svn/trunk and then tag the 3.4.0-rc1 (release candidate 1).</p>
<p><br></p>
<p>Thanks to all the contributors,</p>
<p>Robert,<br></p>
<p><br></p>
<p>2015-07-01 05:10&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgWrappers/deprecated-dotosg/osg/ClipControl.cpp,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgWrappers/serializers/osg/ClipControl.cpp: From Mathias<br>&nbsp;&nbsp;&nbsp; &nbsp; Froehlich, added seriliazers for new osg::ClipControl<br><br>2015-06-30 09:51&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * AUTHORS.txt, ChangeLog: Updated ChangeLog and AUTHORS files<br><br>2015-06-30 09:11&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/ClipControl, include/osg/GLExtensions,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osg/StateAttribute, src/osg/CMakeLists.txt,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osg/ClipControl.cpp, src/osg/GLExtensions.cpp: From Mathias<br>&nbsp;&nbsp;&nbsp; &nbsp; Froehlich, "Attached a new state attribute implementing the<br>&nbsp;&nbsp;&nbsp; &nbsp; glClipControl that appeared with GL4.5."<br><br>2015-06-30 08:39&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgViewer/Viewer.cpp: Quitened down debug for ViewConfig<br>&nbsp;&nbsp;&nbsp; &nbsp; argument parsing<br><br>2015-06-30 08:38&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/ogr/ReaderWriterOGR.cpp: Build fix for GLDAL&gt;=2<br><br>2015-06-26 09:40&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/Vec2f: From Christian Kehl, added Vec2::set(const<br>&nbsp;&nbsp;&nbsp; &nbsp; Vec2) method<br><br>2015-06-19 09:51&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgUtil/RenderStage.cpp: From Jannik Heller, fixed<br>&nbsp;&nbsp;&nbsp; &nbsp; clearReferencesToDependentCameras() calls<br><br>2015-06-17 16:25&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgUtil/GLObjectsVisitor.cpp: Fixed handling of use<br>&nbsp;&nbsp;&nbsp; &nbsp; GLObjectsVisitor for modifying scene graph state without<br>&nbsp;&nbsp;&nbsp; &nbsp; compiling to OpenGL so that the visitor can be run safely without<br>&nbsp;&nbsp;&nbsp; &nbsp; a graphics context being current.<br><br>2015-06-16 17:18&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgQt/CMakeLists.txt: Small tidy up to make script more<br>&nbsp;&nbsp;&nbsp; &nbsp; readable.<br><br>2015-06-16 17:17&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * src/osgPlugins/qfont/CMakeLists.txt: Added QT_QTCORE_INCLUDE_DIR<br>&nbsp;&nbsp;&nbsp; &nbsp; entry to qfont plugin build to fix Qt4 build under Linux<br><br>2015-06-15 19:59&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osgQt/GraphicsWindowQt,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osgQt/QFontImplementation,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osgQt/QGraphicsViewAdapter, include/osgQt/QWebViewImage,<br>&nbsp;&nbsp;&nbsp; &nbsp; include/osgQt/QWidgetImage, src/osgQt/CMakeLists.txt,<br>&nbsp;&nbsp;&nbsp; &nbsp; src/osgQt/Version.in: From Jannik Heller, "I've added the check<br>&nbsp;&nbsp;&nbsp; &nbsp; for Qt version mismatches into osgQt as suggested in<br>&nbsp;&nbsp;&nbsp; &nbsp; <a href="http://forum.openscenegraph.org/viewtopic.php?t=14999">http://forum.openscenegraph.org/viewtopic.php?t=14999</a>.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; When an application is built with Qt4, but osgQt was built with<br>&nbsp;&nbsp;&nbsp; &nbsp; Qt5 (or vice versa), upon #includeing osgQt users will receive an<br>&nbsp;&nbsp;&nbsp; &nbsp; #error aborting the build.<br>&nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp; This at least provides a proper error message rather than a<br>&nbsp;&nbsp;&nbsp; &nbsp; crash, while we are working on better fixes for the problem."<br><br>2015-06-15 13:51&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * include/osg/GLDefines: Experiment with how to define GLsizeiptr.<br><br>2015-06-15 13:51&nbsp; robert<br><br>&nbsp;&nbsp;&nbsp; * CMakeLists.txt: Upated version number<br><br><br></p>
<p><br></p>
<p>-- ChangeLog since 3.3.8<br></p>
<p><br></p>
<p><br></p>
<br>
</div></div>

Gmane