Mac功能失败

时间:2013-01-06 01:38:25

标签: macos cocoa opengl

我正在尝试修复MAC OS X 10.5上一个非常有趣的崩溃。

以下是代码:

CGLPixelFormatObj pixelFormatObj ;
GLint numPixelFormats ;
CGLPixelFormatAttribute attribs[] =
{
    kCGLPFAFullScreen,
    kCGLPFADisplayMask,
    (CGLPixelFormatAttribute) 0,    /* Display mask bit goes here */
    (CGLPixelFormatAttribute) 0
} ;


if ( display == kCGNullDirectDisplay )
    display = CGMainDisplayID();
attribs[2] = (CGLPixelFormatAttribute) CGDisplayIDToOpenGLDisplayMask(display);


/* Build a full-screen GL context */
CGError error = CGLChoosePixelFormat( attribs, &pixelFormatObj, &numPixelFormats );
if ( pixelFormatObj == NULL )    // No full screen context support
    return NULL;

对CGLChoosePixelFormat()的调用给出“CGNoError”,但“pixelFormatObj”为NULL。

这段代码应该可以正常工作,因为我在网上看到了一个用于获取屏幕的引用(参考http://cocoadev.com/wiki/ScreenShotCode)。

在XCode的调试器下查看,attribs [2]变为“kCGLPFAAllRenderers”。

有没有人知道这可能会发生在什么条件下?以及如何克服这个问题?

0 个答案:

没有答案