Draw on a full screen OpenGL application

I’m a newbie on OpenGL. Now I need to write an application which have a transparent window to draw some line, circle, whatever, on another full screen OpenGL application.

I tried - (void)[NSWindow setLevel:kCGMaximumWindowLevel] but it doesn’t work.

It seems a full screen OpenGL function will always use CGDisplayCapture(kCGDirectMainDisplay); at the begining and CGReleaseAllDisplays(); at the end. Does this mean a full screen application will manage the display exclusively? But if there’s any way to draw directly to the display’s base address/ video buffer?

Thanks in advance for any information.

If the full-screen application is capturing the display, there should not be any way for you to draw over the top of it.

The window server is essentially gone when an app has captured the display, so most window things won’t work, and a full-screen OpenGL context will usually have the framebuffer tiled, so even in the unlikely event you could draw directly to the framebuffer, there’s no way to know which pixel corresponds to which address.

Do you have control over this full-screen application?

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