I would love to have something like this working. However, everyone I
have spoken to tells me that the protected memory architecture and
driver model currently used forbids this sort of sharing. Im not smart
enough/knowledgeable enough to know all the details of why, but im
also stubborn enough to know there *has* to be a work around. i wrote
that weird little plugin as a one potential (but kind of an ugly hack
ish) work around.
If you can get that working (inter app GPU resource sharing) - I would
ABSOLUTELY love to know what youve done.
Id imagine some sort of API would be required to know the memory
locations of the resources on the GPU (ie, this offset / location for
texture a, etc), and that information would have to be constantly
synced between apps - but I have no idea even where to begin for those
sorts of endeavors.
Perhaps a standalone shim app that acts as a GPU server/resource
allocator, which handles 'locking' issues of who has read/write to a
texture/buffer to alleviate potential conflicts? No app would then
actually own the resources, but would send them and recieve them from
the shim layer? That sounds awefully complicated, and would require re-
thinking of the whole pipeline...
On Jul 1, 2008, at 11:55 AM, Christopher Wright wrote:
I'd like to know if my opengl app can be modified to render to an
offscreen CVOpenGLBuffer, then is it possible to have another
application grab the contents of this Opengl buffer somehow by
using Quartz Composer?
My goal is to use hardware accelerated opengl to render to an
offscreen buffer, and have another application read/display this
buffer, but have the pixels stay on the GPU.
If this is possible then can anyone provide some direction/help on
how this could be implemented ?
You'll want to look into OpenGL Context Sharing. This works for
intra-application resource sharing (i.e. within the same program),
but maybe not for inter-app sharing (i.e. across different
applications). I've never really seen trans-app texture sharing, so
I don't know if that's possible or not -- if not, why not just wrap
the two applications into one, and make it multithreaded? (This, of
course, isn't practical if you don't have the ability to rewrite
parts of the applications...)
Anyway, here's a link:
http://developer.apple.com/documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide/opengl_contexts/chapter_7_section_4.html
--
[ christopher wright ]
[EMAIL PROTECTED]
http://kineme.net/
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list ([email protected]
)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/doktorp%40mac.com
This email sent to [EMAIL PROTECTED]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com
This email sent to [EMAIL PROTECTED]