<div dir="ltr">HI Sandro,<br><div class="gmail_extra"><br><div class="gmail_quote">On 21 August 2017 at 18:50, Sandro Mani <span dir="ltr"><<a href="mailto:manisandro@gmail.com" target="_blank">manisandro@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">That's a good enough answer for me, ultimately I just want to
    understand what needs to be fixed where. From your answer I gather
    that OSG should be okay now and that I'll take up the rest with
    osgEarth upstream.<br></div></blockquote><div><br></div><div>The change to use DisplaySettings::instance() by default in Triats is something I'm not comfortable with as it changes the behaviour which may catch some OSG users out, and if they did find problems they would be hard to diagnose.<br><br></div><div>For osgEarth it does sound like the Capabilities mechanism needs tightening up to make sure the same context, or at least type of context, is used for the viewer is used when when checking the driver capabilities.<br><br></div><div>From your description it looks like the Capabilties mechanism would work fine on drivers that don't have multiple behaviours, so link to a standard GL context and then you can query all the features/extensions just fine (this is how GL has traditionally worked over the years) but fails to handle newer GL drivers that allow for specific generations of functionality to be split i.e. you get a GL3.x context with no backwards compatibility or a GL1.x context with no forwards computability.<br><br></div><div>When expressed this way it shows that the GL core profile approach that the ARB took really fundamentally changes OpenGL, breaking one of it's greatest assets as programmer developing software that is long lived.  NVidia for sure have maintained the old way and remain easy to manage, but Apple and Intel/MESA have taken the opportunity for use non compatibility to break the old way of doing things, and breaking approaches like osgEarth::Capabilities.<br><br></div><div>Robert.<br></div><div><br><br></div><div> </div></div></div></div>