Spout for Godot 3.4.2 Created

SpoutGD

I wrote an engine module for Godot that adds support for Spout! The GitHub repo can be found here.

Both GPU and CPU workflows are supported (where the CPU workflow involves sending all pixels for an image manually).

This does require a custom build of Godot and only works on Windows, as Spout only works on Windows.

Development Notes

The VisualServer was also patched to allow access to the OpenGL FBO. I was hoping to avoid doing this, but according the Godot issue tracker, the low-level graphics API was never fully exposed.

A neat addition to a huge project.
Indeed the fbo send will be much faster than image pixels.
It’s good to see SpoutLibrary doing it’s job.

1 Like

Indeed, thanks for creating the library!

Receiving data isn’t yet implemented, since more digging is required in order to figure out how to pass OpenGL texture handles to Godot without breaking the existing render pipeline for Godot. But I am looking into it :wink:

Receiving and processing image pixels in Godot is easy enough, but if we’re using Spout + a custom Godot build, we might as well go for performance using OpenGL.

I have updated the Master branch SpoutLibrary binaries to include changes to resolve a linking problem. Of course let me know if you find any problems.

Send Fbo is around 0.5 msec per frame, so stick to that if you can.

1 Like

Thanks will do!

And thanks for the tip about the Fbo timing, I’ve been sending them (or at least calling the function) as fast as possible.

I’ve shared your project at vjun.io to share the love :slight_smile: