The way I understand Vulkan & Metal is that GPGPU is built in directly into the standard- as opposed to using an additional standard.
I am also very concerned. OpenGL isn't going anywhere soon, as Vulkan is still actively developed. There are many titles that are cross-platform and rely on OpenGL to make this all work.
In theory simply the OS not using OpenGL shouldn't stop it from working. However if Apple take measures to actively remove support (libraries etc) then possibly a 3rd party solution could keep it alive? (Linux has MESA etc, maybe this could be used as a starting point)
Just another thought, it would be great to be able to also disable window shadows. I know that there is software that can switch this off universally on MacOS- but if we distribute an app it would be cool to be able to control this behaviour.
I can see this being very useful for screen overlays, or non-interactive screen modifiers.
I just made a small donation, so I hope that helps a bit. (at very least office coffee round)
Vuo really is fantastic, and as Paul mentioned is very important for many of us. I look forward to a bright future for Vuo, and hopefully in the not too distant future multi-platform support. (Window most probably would be financially sensible- but Linux for installation playback etc)
I really appreciate the dual license nature of Vuo. It allows us to see aspects of Vuo (source code) and have a connection to the deeper workings of Vuo. Can't wait for Vuo 1.3!
On a side note: HAP playback has made a huge difference to me- as has the amazing work done in completely fixing the x4000 AMD GPU bug!
While you can still use JPG and PNG images, those formats are STRONGLY discouraged.
Instead, you should use the .dds format with either DXT1 or DXT5 compression.
We recommend ImageMagick for converting. In a terminal, just go:
$ convert image.png image.dds
It's that simple.
So why this new format?
Before, the way a texture image was loaded was this (for a 4k/UHD 3840x2160 image):
1. Load PNG compressed data;
2. Decompress PNG into RAM (using 32MB of RAM)
3. Flip the image vertically on CPU (using another 32MB of RAM).
4. Send this data to the OpenGL Drivers
5. OpenGL drivers compress data into DXT1 or DXT5 using up another 8MB RAM
6. OpenGL drivers write the texture to VRAM
Now the process is shorter:
1. Load DDS image into RAM (using 8MB ram)
2. OpenGL drivers write the pre-compressed texture data directly to VRAM