Chcę utworzyć NSOpenGLPixelBuffer do renderowania poza ekranem. Na razie nawet nie mogę go zainicjować. Oto kod:Tworzenie bufora pikseli Objective-C
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);
Próbowałem grać na klawiaturze w pikselach i szerokości, ale nic nie działa. Wielokrotnie otrzymuję zero dla pixBuf. Używam Xcode 9 na MacOS 10.13. Mówi, że NSOpenGLPixelBuffer jest przestarzałe, ale powinno nadal działać, prawda?
Wygląda więc na to, że stare api po prostu nie zadziałają. Właściwie pracowałem nad starym systemem z powyższym kodem. W każdym razie, dzięki za głowy; Przyjrzę się przykładowi i spróbuję z nim pracować. – alDiablo