I was wondering if there was a way to use Syphon with a generic OpenGL application that does not provide any Plugin SDK.
I know that Graps uses an LD_PRELOAD method to be able to capture frames from any OpenGL application and thinking that Syphon could potentially do something similar but share video memory and work much better / faster.
I’m looking for a method to capture the output from an application and overlay it on top of an application built with Unity3d.
1a) Is this possible in Syphon? 1b) Does it currently exist?
2) Is Syphon the best tool for this type of application?
If arbitrary LD_PRELOAD overwriting or ‘insertion’ could happen, and be turned on optionally, that would be an awesomely powerful solution. Currently Syphon has a working client for Unity, and since frames will stay on the GPU, it would be *very very fast*
I will admit, Im not familiar with that technique at all. Let us do some research, but LD_PRELOAD should work on OS X since, OS X has a posix / linker , so theoretically shimming into some app could.. maybe.. work?
This was a thought I had too when starting out, did not find any info on it. Thanks for the heads up.
To answer your questions specifically though.
1a) right now, no. The app has to ‘opt-in’ to Syphon either via a plugin or adopting Syphon.framework natively.
2) I would say yes, as Syphon is optimized to stay on the GPU (no slow readback to the CPU), and can support very high resolution and framerate because of this.