From Stephan Huber, "attached you'll find a small enhancement for GraphicsWindowCocoa. My
submision adds a getter for the pixel-format. I need this for some custom software so I can integrate CoreVideo-playback with osg. "
This commit is contained in:
@@ -25,12 +25,14 @@
|
||||
@class GraphicsWindowCocoaWindow;
|
||||
@class GraphicsWindowCocoaGLView;
|
||||
@class NSOpenGLContext;
|
||||
@class NSOpenGLPixelFormat;
|
||||
@class NSWindow;
|
||||
@class NSView;
|
||||
#else
|
||||
class GraphicsWindowCocoaGLView;
|
||||
class GraphicsWindowCocoaWindow;
|
||||
class NSOpenGLContext;
|
||||
class NSOpenGLPixelFormat;
|
||||
class NSWindow;
|
||||
class NSView;
|
||||
#endif
|
||||
@@ -158,6 +160,7 @@ class GraphicsWindowCocoa : public osgViewer::GraphicsWindow, public osgViewer::
|
||||
|
||||
NSOpenGLContext* getContext() { return _context; }
|
||||
GraphicsWindowCocoaWindow* getWindow() { return _window; }
|
||||
NSOpenGLPixelFormat* getPixelFormat() { return _pixelformat; }
|
||||
|
||||
void setVSync(bool f);
|
||||
|
||||
@@ -190,6 +193,7 @@ class GraphicsWindowCocoa : public osgViewer::GraphicsWindow, public osgViewer::
|
||||
GraphicsWindowCocoaWindow* _window;
|
||||
GraphicsWindowCocoaGLView* _view;
|
||||
NSOpenGLContext* _context;
|
||||
NSOpenGLPixelFormat* _pixelformat;
|
||||
bool _updateContext;
|
||||
};
|
||||
|
||||
|
||||
@@ -857,6 +857,8 @@ void GraphicsWindowCocoa::init()
|
||||
_ownsWindow = false;
|
||||
_context = NULL;
|
||||
_window = NULL;
|
||||
_pixelformat = NULL;
|
||||
|
||||
_updateContext = false;
|
||||
_valid = _initialized = true;
|
||||
}
|
||||
@@ -977,8 +979,8 @@ bool GraphicsWindowCocoa::realizeImplementation()
|
||||
sharedContext = graphicsHandleCocoa->getNSOpenGLContext();
|
||||
}
|
||||
|
||||
NSOpenGLPixelFormat* pixelformat = [[NSOpenGLPixelFormat alloc] initWithAttributes:attr ];
|
||||
_context = [[NSOpenGLContext alloc] initWithFormat: pixelformat shareContext: sharedContext];
|
||||
_pixelformat = [[NSOpenGLPixelFormat alloc] initWithAttributes:attr ];
|
||||
_context = [[NSOpenGLContext alloc] initWithFormat: _pixelformat shareContext: sharedContext];
|
||||
|
||||
if (!_context) {
|
||||
osg::notify(osg::WARN) << "GraphicsWindowCocoa::realizeImplementation :: could not create context" << std::endl;
|
||||
|
||||
Reference in New Issue
Block a user