Fullscreen, Displays, Virtual Screens


I’m trying to render (fullscreen, CGL) to two displays from a single GPU, as in Figure 1.7.

When I capture all displays and go fullscreen, only the main display is rendered to. I believe the problem is that the pixel format attribute corresponding to kCGLPFADisplayMask is CGDisplayIDToOpenGLDisplayMask( kCGDirectMainDisplay ), which ignores other displays.

I was hoping that since I want one virtual screen, I could use a single context to render it to both physical displays.

Do I have to create a separate context for each physical display? If not, could someone point me in the right direction?


I believe you need two full-screen contexts, one for each display, or one windowed context (which might nevertheless cover the full screen) crossing both.

Thanks! I could’ve spent a long time trying to make this work.

As a quick note to anyone who might stumble across this later trying to do the same thing, I did try to create a display mask based on all of the active displays (Technical Q&A QA1542: QuickTime Texture Visual Context - kQTVisualContextNotAllowedErr with non-accelerated graphics cards), but it still rendered to a single display once it went fullscreen.


This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.