I've been registered to this forum for a while but my old email address is now off and I can't get the "Damn, I - once again - forgot my password" email.
So, I post this question with this new identity.
VDMX is an incredible platform to create ultra-modular setups! I've been using it (and it's a chance!) for almost 7 years now, and I saw how you people are working on giving the users more and more flexibility, modularity, freedom... All this for this single license I once bought! Thank you so much for this good work!
But, while you opened the possibility to use Quartz Composer based VDMX plugins & FX, yet the 'hobbyist' Quartz Composer plugins developers don't have any info (or I missed something) on the way you're dealing with QC rendering / run loop.
A few years ago I had a crash with CVDisplayLink, after switching from one version to the next, and I understood a bit how GL contexts were managed in VDMX, but now I have a plugin that works perfectly under QC, but that does... nothing under VDMX... I mean, it's like if the rendering part wasn't called.
Actually, the plugin is based on the INetSyphon framework (https://github.com/z37soft/INetSyphon_OSX_SDK: TCPSyphon, ...) that could send and receive images from and to Quartz Composer (then VDMX), without the need to use a third-party software.
What I am doing is :
SERVER
- - Get an image from QC
- Render the image's texture to a FBO (thanks vade!) in the QC CGLContext
- Switch to a CGLContext created from the QC one
- Render the texture to another FBO
- Send the texture from this context to the framework
CLIENT
- - Get a texture from the connected server
- Render this texture in a FBO in a context made on the basis of the QC one
- Ask for this texture from within the plugin, render it to another FBO (QC context) then to a provider
It would be a huge help if you could explain how are managed the QC plugins and FX in VDMX and how we could build them in a reliable way even with custom QC plugins.
I guess it might not be a priority, but... just asking.
Again, thanks so much for this work, and for the creativity allowed!
Ben