Let's try that again: https://gist.github.com/gwaldron/a56b0e77e7fa8587b698717d21f9366d
Glenn Waldron On Mon, Apr 15, 2019 at 3:33 PM Glenn Waldron <[email protected]> wrote: > Here's a quick reference for building OSG (and osgEarth) for GL CORE... > may be helpful. > > Glenn Waldron > > > On Thu, Apr 11, 2019 at 10:49 AM Sebastian Messerschmidt < > [email protected]> wrote: > >> Merlin, >> >> >> >> As Chris already mentioned the complete application needs to run on >> core-profile. That means there is no fixed function pipeline and no >> backward-compatibility features. >> >> In order to get your application running in core-profile you need to >> write shaders for everything and IIRC compile OSG with GL3 enabled. I >> haven’t used OSG in a while now, but I think there is mechanism to decorate >> the scene graph with shaders automatically. >> >> >> >> I started to refactor my project some years ago to fully support >> core-only scenarios, but I gave up due to a lot features no longer working >> out-of-the-box. >> >> Can you maybe try to explain what you’re trying to debug? There might be >> some more options for you. >> >> >> >> >> >> Cheers >> >> Sebastian >> >> >> >> *From:* osg-users <[email protected]> *On >> Behalf Of *Rowley, Marlin R >> *Sent:* Donnerstag, 11. April 2019 16:24 >> *To:* OpenSceneGraph Users <[email protected]> >> *Subject:* Re: [osg-users] EXTERNAL: Re: EXTERNAL: Re: Where is >> CreateContextAttribs() being used? >> >> >> >> Sebastian, >> >> >> >> What does “core OpenGL profile” mean with regards to the graphics >> context? I’m still not getting it to work. >> >> >> >> Here is my code structure: >> >> >> >> … >> >> osg::ref_ptr<osg::GraphicsContext::Traits> traits = new osg:: >> GraphicsContext::Traits; >> >> traits->x = aXPosition; >> >> traits->y = aYPosition; >> >> traits->width = aWidth; >> >> traits->height = aHeight; >> >> traits->stencil = 8; >> >> traits->doubleBuffer = true; >> >> traits->windowDecoration = false; >> >> #if defined(WIN32) >> >> traits->inheritedWindowData = new osgViewer:: >> GraphicsWindowWin32::WindowData( aWindow ); >> >> #elif defined(__linux__) >> >> traits->inheritedWindowData = new >> osgViewer::GraphicsWindowX11::WindowData( aWindow ); >> >> #endif >> >> // gl graphics context version and profile mask >> >> *traits**->**glContextVersion **=* *"3.3"**;* >> >> *traits**->**glContextProfileMask = 0x1;* >> >> >> >> // create the graphics window from the context >> >> osgViewer::GraphicsWindow* gw = dynamic_cast<osgViewer:: >> GraphicsWindow*>(osg::GraphicsContext >> ::createGraphicsContext(traits.get())); >> >> >> >> … >> >> >> >> // set the main camera to use the window >> >> mainCamera->setGraphicsContext( gw ); >> >> >> >> … >> >> >> >> I assume here that setting the traits variable with the major/minor >> version of OpenGL and setting the profile mask to 1 (‘core’??) would be all >> I need. But that’s obviously not the case. >> >> >> >> -M >> >> >> >> ---------------------------------------- >> >> Marlin Rowley >> >> Software Engineer, Staff >> >> [image: cid:[email protected]] >> >> *Missiles and Fire Control* >> >> 972-603-1931 (office) >> >> 214-926-0622 (mobile) >> >> [email protected] >> >> >> >> *From:* osg-users <[email protected]> *On >> Behalf Of *[email protected] >> *Sent:* Thursday, April 11, 2019 9:01 AM >> *To:* 'OpenSceneGraph Users' <[email protected]> >> *Subject:* EXTERNAL: Re: [osg-users] EXTERNAL: Re: Where is >> CreateContextAttribs() being used? >> >> >> >> Hi Marlin, >> >> >> >> In order for RenderDoc (and most tools I’m aware of) you’re application >> needs to run on core OpenGL profile. >> >> You might want to look here for some debugging options: >> https://www.khronos.org/opengl/wiki/Debugging_Tools >> >> I personally used Nvidia Nsight for quite a while, as it at least helps >> with framebuffer debugging etc. >> >> >> >> Cheers >> >> Sebastian >> >> >> >> >> >> *From:* osg-users <[email protected]> *On >> Behalf Of *Rowley, Marlin R >> *Sent:* Donnerstag, 11. April 2019 14:52 >> *To:* OpenSceneGraph Users <[email protected]> >> *Subject:* Re: [osg-users] EXTERNAL: Re: Where is CreateContextAttribs() >> being used? >> >> >> >> We are using Win10-x64. >> >> >> >> We are trying to get RenderDoc to be able to see our application so we >> can do some graphics debugging. It’s shouting back that the current device >> context wasn’t created using CreateContextAttrib, so I started looking. So >> since we are using Win64, doesn’t look like osg will go the WindowWin32 >> route. Hmm… >> >> >> >> How are you debugging the GPU? It’s incredibly difficult trying to solve >> realtime pipeline problems without the use of a graphics debugger. >> >> >> >> ---------------------------------------- >> >> Marlin Rowley >> >> Software Engineer, Staff >> >> [image: cid:[email protected]] >> >> *Missiles and Fire Control* >> >> 972-603-1931 (office) >> >> 214-926-0622 (mobile) >> >> [email protected] >> >> >> >> *From:* osg-users <[email protected]> *On >> Behalf Of *Robert Osfield >> *Sent:* Thursday, April 11, 2019 7:16 AM >> *To:* OpenSceneGraph Users <[email protected]> >> *Subject:* EXTERNAL: Re: [osg-users] Where is CreateContextAttribs() >> being used? >> >> >> >> Hi Marlin, >> >> >> >> A great for CreateContextttribs in the OSG shows: >> >> >> >> $ grep -r CreateContextAttribs . >> Binary file ./lib/libosgViewer.so.3.6.4 matches >> Binary file >> ./src/osgViewer/CMakeFiles/osgViewer.dir/GraphicsWindowX11.cpp.o matches >> ./src/osgViewer/GraphicsWindowX11.cpp: typedef GLXContext >> (*glXCreateContextAttribsARBProc)(Display*, GLXFBConfig, GLXContext, Bool, >> const int*); >> ./src/osgViewer/GraphicsWindowX11.cpp: >> glXCreateContextAttribsARBProc glXCreateContextAttribsARB = 0; >> ./src/osgViewer/GraphicsWindowX11.cpp: >> glXCreateContextAttribsARB = (glXCreateContextAttribsARBProc) >> glXGetProcAddress((const GLubyte*)"glXCreateContextAttribsARB"); >> ./src/osgViewer/GraphicsWindowX11.cpp: if >> (glXCreateContextAttribsARB) >> ./src/osgViewer/GraphicsWindowX11.cpp: _context = >> glXCreateContextAttribsARB( _display, _fbConfig, sharedContext, True, >> contextAttributes.data() ); >> ./src/osgViewer/GraphicsWindowWin32.cpp:extern HGLRC WINAPI >> wglCreateContextAttribsARB (HDC, HGLRC, const int *); >> ./src/osgViewer/GraphicsWindowWin32.cpp: >> PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribsARB = >> ./src/osgViewer/GraphicsWindowWin32.cpp: ( >> PFNWGLCREATECONTEXTATTRIBSARBPROC ) wglGetProcAddress( >> "wglCreateContextAttribsARB" ); >> ./src/osgViewer/GraphicsWindowWin32.cpp: if( >> wglCreateContextAttribsARB==0 ) >> ./src/osgViewer/GraphicsWindowWin32.cpp: >> reportErrorForScreen( "GL3: wglCreateContextAttribsARB not available.", >> ./src/osgViewer/GraphicsWindowWin32.cpp: context = >> wglCreateContextAttribsARB( _hdc, 0, attribs ); >> ./src/osgViewer/GraphicsWindowWin32.cpp: >> reportErrorForScreen( "GL3: wglCreateContextAttribsARB returned NULL.", >> >> >> >> So only X11 and Win32. What platform are you using? >> >> >> >> Robert. >> >> >> >> >> >> >> >> On Thu, 11 Apr 2019 at 00:32, Rowley, Marlin R <[email protected]> >> wrote: >> >> We are trying to run the graphics debugger called ‘RenderDoc’. It’s >> spitting out an error message after we create a window and it’s device >> context. I’ve been looking through the osg code to find a function called >> CreateContextAttribs(). I can’t seem to locate it. My idea is to override >> where it’s used or refactor something into the code where we can call the >> function ourselves. >> >> >> >> In the meantime, I’m setting the traits->glContextVersion = “3.3” in our >> graphics application but RenderDoc is still shouting “Context not created >> via CreateContextAttribs. Capturing disabled.” >> >> >> >> -M >> >> >> >> ---------------------------------------- >> >> Marlin Rowley >> >> Software Engineer, Staff >> >> [image: cid:[email protected]] >> >> *Missiles and Fire Control* >> >> 972-603-1931 (office) >> >> 214-926-0622 (mobile) >> >> [email protected] >> >> >> >> _______________________________________________ >> osg-users mailing list >> [email protected] >> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >> >> _______________________________________________ >> osg-users mailing list >> [email protected] >> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >> >
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

