When your generic node class is specialized to a data type,
VuoGenericType1_scale is replaced by the function for that data type. For example, when you add a
Scale List node to the canvas and choose Set Data Type > Real, the call to
VuoGenericType1_scale in that node is replaced with
It's actually just a text replacement. Everywhere in the node class's source code, the string
VuoGenericType1 is replaced with
The available variations of the scale function are:
VuoPoint4d_scale. While there's no entry for
VuoGenericType1_scale in the API documentation since it's not an actual function, there are entries for each of these variations.
Thanks for the great info Jaymie (@jstrecker)! As always it looks like Apple has pressed fast forward on the EOL of OpenGL. Hopefully it will be positive for the industry, and for Vulkan (which didn't look like it was gaining traction on MacOS). All I know about Vulkan vs OpenGL is that it's very different, very low level, and not always faster (for high resolution outputs no; but for 1080 much faster).
(When looking at game benchmarks etc)
UPDATE: Just been playing with the 'Vulkan Traiangle' tutorials... looks like I am wrong, and Vulkan can swap out shaders on the fly, (at least if I recompile the shaders obviously...) Having a default way to compile shaders (with error feedback) is a nice change to the silence that was GLSL.
For a while now, it has seemed like Apple has been devoting most of their resources to Metal at the expense of OpenGL. Most or all of Vuo's known issues with certain GPUs (https://vuo.org/node/2038), not to mention many issues that we have fixed, are due to bugs in Apple's OpenGL drivers.
So it's not too surprising that Apple has officially deprecated OpenGL. We've been researching and experimenting with alternatives over the past few years.
Whatever changes we may see in macOS graphics support in the future, we can count on there being a great many potential Vuo users who, for whatever reason, are on Windows. We've promised to support Windows eventually and intend to keep that promise.
Ideally we’ll be able to find a viable cross-platform solution — something that would add support for Metal while paving the way for Windows support. MoltenVK is one possibility. We would convert Vuo's OpenGL code to Vulkan, which runs natively on Windows (and Linux and Android). MoltenVK would enable the same Vulkan code to run on macOS (and iOS). Of course, we'll have to do more testing of MoltenVK or any other graphics library to make sure it's a good fit for Vuo.
If any of you have developed with Metal, Vulkan, MoltenVK, or other cross-platform open-source C/C++ graphics APIs, we'd like to hear your thoughts. Any pitfalls we should watch out for? Any slick features we could take advantage of?
Once we've done some more research and testing, we'll let you know our tentative plan.
Crossplatform graphics currently is Vulkan, thankfully there is MultenVK, which allows Vulkan to run on Metal (in a native way).
However as I said before Vulkan is still actively developed, and there are still aspects that OpenGL does better (such as being able to swap out shaders on the fly).
However - currently all Mac OpenGL projects are discussing this issue, so Vuo is not alone.
Hopefully if Apple is able to nudge developers into using Vulkan (for cross platform- using MultenVK) it may also improve Vulkan, and give us efficient graphics pipelines.
@Superflea I am one of those strongly in favor of a Windows version of Vuo. I would also argue that if Vuo were to go down the "system exclusive" path (which I hope not by the way, but I'd understand it!), Windows should be that system. The reason is simple. You can't get the performance on a Mac that you can on Windows. It's not that it's expensive, it's that you can't get it (I'm aware of Nvidia beta/web drivers - but they are an uncertain bet at this point). While external gfx cards is an option, you'll at best pay twice the price for a decent enclosure and an OK card (Vega56/1070). Then there is the loss of efficiency. If the current Mac Pro is anything to go by, the next gen cards will be Vega 56 / 64, and they'll be the standard option at full price until at least 2024.
Anyways, I suspect this will boil down to a choice between Metal and MSP for Mac or DX and HLSL for Windows or Vulkan and SPIR-V for cross-platform.
While I agree Apple had us all worried for a while, especially regarding their pro and desktop strategy, I don't think they are making any strange choices now. In fact, they seem more lucid than ever regarding their pro platforms. On the software side, again I see a massive investment in CG with game and FX companies up front. Just look at some of the news coming from WWDC regarding rendering, augmented reality, chained external GPUs and all that. This has been happening every year for some time now.
This is all stuff we would have killed for in the QC days, when all we had was sagging openGL support, a buggy editor and no interest in games or realtime media.
I think VUO could be riding this new wave.
@alexmitchellmus ok. Sad Vulkan is not something you can just embed with your software and hop have it to work on mac ;)
@Superflea yeah but some people here in the community, me not included, but some massively voted for Vuo on Windows.
And also funded Vuo with that in mind.
And it could also make the Vuo community grow bigger.
With Apple making strange choices in regard of the macs and with some PC like Mi Notebooks starting to look good, sometimes myself I wonder if I will always stick to Apple.
But yeah in some feature, I wonder what strategy Vuo will have to go if it wants to make use of more modern GPU low level and more powerful API's
Sign up for the Vuo announcements mailing list to get news and join the community. We post about once per month.