maybites / TextureSharing

Spout for Blender

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Texture sharing addon V6.0.5 for Blender 3.x upwards

Blender addon that allows to share textures via Spout or Syphon or NDI from and to blender.

This works for current Windows (Spout & NDI), Linux (NDI) and OSX (Syphon & NDI).

⚠️ This library is still in development.

State of Development

OSX

  • OSX Syphon Metal Server
  • OSX Syphon OpenGL Server
  • OSX Syphon Server Discovery
  • OSX Syphon Metal Client (blender 4.x upwards)
  • OSX Syphon OpenGL Client

Windows

  • Windows Spout Sender
  • Windows Spout Sender Discovery
  • Windows Spout Receiver

Linux, Windows, OSX

  • NDI Sender
  • NDI Sender Discovery
  • NDI Receiver

Installation

Requirements

If you want to use NDI, donwload and install NDI SDK before you continue intalling the addon.

You also need to download manually the wheel files for your system.

The wheels for Windows and OSX can be found here. A Linux variant is available from here - this is untested, though. All other Linux users have to build a wheel themself.

Steps

Please make sure you have the most current Blender installed.

  1. Download the addon from the releases

  2. Open Blender > Menu > Preferences > Add-ons > search for and enable the 'TextureSharing' add-on

  3. If available, press the button to install the SpoutGL or syphon-python library via pip.

  4. For NDI locate the downloaded wheel file for your system architecture.

  5. Press the button to install the NDI library .

  6. Once the library is installed, disable and reenable the addon.

  7. Save and close preferences.

Usage

See the current limitation above under State of Development

Sharing Textures

For sharing you need a Camera object.

The plugin adds a panel to the Camera properties called 'Share texture'. The following properties are available:

Panel

  • The streaming type (NDI, Spout or Syphon)
  • The sender (also known as syphon-server) name is default set to the camera name.
  • use color management (recommended).
  • vertical flip of the output texture.
  • show preview inside viewport.
  • capture/streaming resolution.
  • chose a workspace with the desired render / shading preferences.
  • chose a scene and layer setup to render.

You should be able to create as many Cameras and share textures as you wish.

Receiving Shared Textures

The plugin adds a panel to the UV-Editor Tools 'Share texture'.

Panel

  • create a new image and name it accordingly (in the above case 'Syphon')
  • press update to get all available shared textures.
  • select a sender/server
  • press 'create'
  • select the image inside the pane.
  • enable the receiver

The receiver will automatically adjust the image size to the size of the received texture.

Caveat: With the current implementation the update speed is very low (a few frames a second). Thats because the received texture needs to be copied from the GPU into an image buffer on the CPU. For the time beeing I dont see another way to solve this.

Issues

When uninstalling a package, blender needs to be restarted to reflect the missing package in the userinterface.

Credits

Blender Plugin by Martin Froehlich.

Special Thanks:

  • Lyn Jarvis for developing Spout
  • Tom Butterworth and Anton Marini for developing Syphon
  • Jason for the python wrappper SpoutGL for Python
  • Florian Bruggisser for the python wrappper syphon-python
  • Without the valuable hint from Jonas Dichelle I would still dab in darkness...
  • CAD_Sketcher showed me how to dynamically install the needed libraries. Hurray to Opensource!

Very Special Thanks

Python support by Florian Bruggisser - without him, the flawless working of spyhon in blender would still be a dream.

About

Spout for Blender


Languages

Language:Python 100.0%