Hello,

My software Isadora adopts .qtz files to allow them to function video effects/video generators.

Code that has worked a long while, up to and including 10.9, is broken in 10.10 Yosemite.

Specifically, this relates to modules that use the Billboard as an output. For these modules, I create QCRenderer context in which to capture the output, and then pass that on to other modules in my app. (Code used to do this is below.)

Can anyone offer any advice about why this functionality has stopped working in 10.10?

Thanks in Advance,
Mark

--- CODE SNIPPET - CREATING THE CONTEXT ---

mGLPixelBuffer = [[NSOpenGLPixelBuffer alloc] initWithTextureTarget:GL_TEXTURE_RECTANGLE_EXT textureInternalFormat:GL_RGBA textureMaxMipMapLevel:0 pixelsWide:mOpenGLPixelWidth pixelsHigh:mOpenGLPixelHeight];
if (mGLPixelBuffer == NULL) {
        NSLog(@"Cannot create OpenGL pixel buffer");
}

// ------------------------------------------------------------
// CREATE THE OPENGL CONTEXT

NSOpenGLPixelFormat* openGLFormat = NULL;

if (mGLPixelBuffer != NULL) {

        // create a pixel format
        NSOpenGLPixelFormatAttribute  attributes[] = {
                NSOpenGLPFANoRecovery,
                NSOpenGLPFAAccelerated,
                NSOpenGLPFAPixelBuffer,
NSOpenGLPFAScreenMask, (NSOpenGLPixelFormatAttribute) CGDisplayIDToOpenGLDisplayMask(finalDisplayID),
                NSOpenGLPFAColorSize, (NSOpenGLPixelFormatAttribute) 32,
                NSOpenGLPFADepthSize, (NSOpenGLPixelFormatAttribute) 24,
                (NSOpenGLPixelFormatAttribute) 0
        };

NSOpenGLPixelFormat* openGLFormat = [[[NSOpenGLPixelFormat alloc] initWithAttributes:attributes] autorelease];

// NOTE: the pixel format is not retained by [NSOpenGLContext initWithFormat] mQCGLContext = [[NSOpenGLContext alloc] initWithFormat:openGLFormat shareContext:NULL];

        if (mQCGLContext != NULL) {
[mQCGLContext setPixelBuffer:mGLPixelBuffer cubeMapFace:0 mipMapLevel:0 currentVirtualScreen:[mQCGLContext currentVirtualScreen]];
        } else {
                mGLPixelBuffer = NULL;
                NSLog(@"Cannot create OpenGL context");
        }
}

----- CODE SNIPPET - SETTING THE CONTEXT -----

mQCRenderer = [[QCRenderer alloc] initWithOpenGLContext:mQCGLContext pixelFormat:openGLFormat file:(NSString*) cfPluginFilePathStr];
--
=======================================================================
 Mark Coniglio             |  m...@troikatronix.com
 TroikaTronix              |  http://www.troikatronix.com/
 Isadora®                  |  http://www.troikatronix.com/isadora.html
                           |  (interactive media processing environment)
=======================================================================

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list      (Quartzcomposer-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to