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 < sebastian.messerschm...@gmx.de> 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 <osg-users-boun...@lists.openscenegraph.org> *On Behalf > Of *Rowley, Marlin R > *Sent:* Donnerstag, 11. April 2019 16:24 > *To:* OpenSceneGraph Users <osg-users@lists.openscenegraph.org> > *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:image002.jpg@01D39374.DEC5A2E0] > > *Missiles and Fire Control* > > 972-603-1931 (office) > > 214-926-0622 (mobile) > > marlin.r.row...@lmco.com > > > > *From:* osg-users <osg-users-boun...@lists.openscenegraph.org> *On Behalf > Of *sebastian.messerschm...@gmx.de > *Sent:* Thursday, April 11, 2019 9:01 AM > *To:* 'OpenSceneGraph Users' <osg-users@lists.openscenegraph.org> > *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 <osg-users-boun...@lists.openscenegraph.org> *On Behalf > Of *Rowley, Marlin R > *Sent:* Donnerstag, 11. April 2019 14:52 > *To:* OpenSceneGraph Users <osg-users@lists.openscenegraph.org> > *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:image002.jpg@01D39374.DEC5A2E0] > > *Missiles and Fire Control* > > 972-603-1931 (office) > > 214-926-0622 (mobile) > > marlin.r.row...@lmco.com > > > > *From:* osg-users <osg-users-boun...@lists.openscenegraph.org> *On Behalf > Of *Robert Osfield > *Sent:* Thursday, April 11, 2019 7:16 AM > *To:* OpenSceneGraph Users <osg-users@lists.openscenegraph.org> > *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 <marlin.r.row...@lmco.com> > 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:image002.jpg@01D39374.DEC5A2E0] > > *Missiles and Fire Control* > > 972-603-1931 (office) > > 214-926-0622 (mobile) > > marlin.r.row...@lmco.com > > > > _______________________________________________ > osg-users mailing list > osg-users@lists.openscenegraph.org > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > _______________________________________________ > osg-users mailing list > osg-users@lists.openscenegraph.org > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org