加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

创建像素缓冲区Objective-C

发布时间:2020-12-14 19:45:25 所属栏目:百科 来源:网络整理
导读:我想为屏幕外渲染创建一个NSOpenGLPixelBuffer.现在,我甚至无法初始化它.这是代码: NSOpenGLPixelFormatAttribute attribs[] = { NSOpenGLPFAPixelBuffer,NSOpenGLPFANoRecovery,NSOpenGLPFAAccelerated,NSOpenGLPFADepthSize,24,(NSOpenGLPixelFormatAttri
我想为屏幕外渲染创建一个NSOpenGLPixelBuffer.现在,我甚至无法初始化它.这是代码:

NSOpenGLPixelFormatAttribute attribs[] = {
    NSOpenGLPFAPixelBuffer,NSOpenGLPFANoRecovery,NSOpenGLPFAAccelerated,NSOpenGLPFADepthSize,24,(NSOpenGLPixelFormatAttribute) 0
};

NSOpenGLPixelFormat* format = [[[NSOpenGLPixelFormat alloc] initWithAttributes:attribs] autorelease];
NSOpenGLPixelBuffer* pixBuf = [[NSOpenGLPixelBuffer alloc]
                               initWithTextureTarget: GL_TEXTURE_2D
                               textureInternalFormat: GL_RGBA
                               textureMaxMipMapLevel: 0
                               pixelsWide: 32
                               pixelsHigh: 32];

NSLog(@"pbuf address: %p",pixBuf);

我试图摆弄像素格式和宽度,高度,但似乎没有任何作用.我一再为pixBuf得到零.我在MacOS 10.13上使用Xcode 9.它说NSOpenGLPixelBuffer已被弃用,但它应该仍然有效,对吗?

解决方法

NSOpenGLPixelBuffer已经是 deprecated since OS X Lion,它本身就是 dates back to 2011.难怪你没有了.

Here,Apple提出了一种绘制纹理的新方法:

Finally note that the entirety of the NSOpenGLPixelBuffer class should be considered deprecated. Use 07003 in conjunction with 07004 as a replacement.

请参阅this example以了解它的需求.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读