Skip to content

Commit

Permalink
update documentation and renamed addon to TextureSharing
Browse files Browse the repository at this point in the history
  • Loading branch information
ICST-AHMI committed Dec 20, 2023
1 parent aa3a181 commit b54be5e
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 27 deletions.
38 changes: 21 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,44 @@
# Spout and Syphon addon V4.0.0 for Blender 3.0.x
# Texture sharing addon V4.0.0 for Blender 3.0.x

Blender addon that allows to stream [spout](http://spout.zeal.co/) and [Syphon](https://syphon.github.io/) streams from blender.
Blender addon that allows to share textures via [Spout](http://spout.zeal.co/) or [Syphon](https://syphon.github.io/) from blender.

This works for current Windows and OSX.

## Installation

Please make sure you have the most current Blender 3.0.x installed.

1. IMPORTANT: [download](https://github.com/maybites/blender.script.spout/releases) the addon from the **releases**
1. [Download](https://github.com/maybites/blender.script.spout/releases) the addon from the **releases**

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

3. Press the button to install the SpoutGL or syphon library via pip.
3. Press the button to install the SpoutGL or syphon-python library via pip.

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

5. Save and close preferences.
5. Play around with the **Viewport Antialiasing Settings** - lower pass numbers can increase the performance.

6. Save and close preferences.

## Usage

Currently it is only possible to send Spout and Syphon streams, but not to receive them.

For streaming you need a Camera object.
For sharing you need a **Camera** object.

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

* The streaming name is default set to the camera name.
* capture/streaming resolution.
![Panel](./documentation/panel.png)

* 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.
* vertical flip of the sent texture.
* use eevee color management (recommended)
* chose a workspace with the desired render / shading preferences
* chose a scene and layer setup to render
* 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 with streams as you wish.
You should be able to create as many **Cameras** and share textures as you wish.

## Credits

Expand All @@ -43,10 +47,10 @@ Blender Plugin by Martin Froehlich.
### Special Thanks:

* Lyn Jarvis for developing [Spout](http://spout.zeal.co/)
* Tom Butterworth and Anton Marini for developing [Syphon](https://syphon.github.io/)
* Tom Butterworth and Anton Marini for developing [Syphon](https://syphon.github.io/)
* Jason for the python wrappper [SpoutGL for Python](https://github.com/jlai/Python-SpoutGL)
* Florian Bruggisser for the python wrappper [syphon-python](https://github.com/cansik/syphon-python)
* The valuable [hint](https://docs.blender.org/api/master/gpu.html#rendering-the-3d-view-into-a-texture) from Jonas Dichelle I would still dab in darkness...
* Without the valuable [hint](https://docs.blender.org/api/master/gpu.html#rendering-the-3d-view-into-a-texture) from Jonas Dichelle I would still dab in darkness...
* [CAD_Sketcher](https://github.com/hlorus/CAD_Sketcher) showed me how to dynamically install the needed libraries. Hurray to Opensource!

### Very Special Thanks
Expand Down
4 changes: 2 additions & 2 deletions __init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.

bl_info = {
"name" : "Spout",
"name" : "TextureSharing",
"author" : "Martin Froehlich, Florian Bruggisser",
"description" : "Streaming Textures via spout and syphon from Blender",
"description" : "Sharing Textures via Spout or Syphon from Blender",
"blender" : (3, 0, 0),
"version" : (4, 0, 0),
"location" : "Properties > Camera > Camera data",
Expand Down
Binary file added documentation/panel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 8 additions & 8 deletions ui.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,28 +15,28 @@ class TEXS_PG_camera_texshare_settings(bpy.types.PropertyGroup):
enable : bpy.props.BoolProperty(
name = "enable",
default = 0,
description = "enables the texture streaming",
description = "Enables texture sharing",
update=operators.texshare_main
)
hasstarted : bpy.props.BoolProperty(
name = "hasstarted",
default = 0,
description = "inidicates if streaming has been activated"
description = "Inidicates if sharing has been activated"
)
isrunning : bpy.props.BoolProperty(
name = "isrunning",
default = 0,
description = "inidicates if streaming is active"
description = "Inidicates if sharing is active"
)
isflipped : bpy.props.BoolProperty(
name = "isflipped",
default = 0,
description = "inidicates if the texture is flipped when streaming is active"
description = "Inidicates if the texture is flipped when sharing is active"
)
applyColorManagmentSettings : bpy.props.BoolProperty(
name = "applyColorManagmentSettings",
default = 1,
description = "applies the current scenes color management settings"
description = "Applies the current scene color management settings"
)
capture_width : bpy.props.IntProperty(
name = "Capture width",
Expand Down Expand Up @@ -71,7 +71,7 @@ class TEXS_PG_camera_texshare_settings(bpy.types.PropertyGroup):
preview : bpy.props.BoolProperty(
name ="Preview",
default= 0,
description = "Show preview of streamed texture inside viewport"
description = "Show preview of shared texture inside viewport"
)

class CameraButtonsPanel:
Expand All @@ -85,7 +85,7 @@ def poll(cls, context):
return context.camera and (engine in cls.COMPAT_ENGINES)

class TEXS_PT_camera_texshare( CameraButtonsPanel, Panel ):
bl_label = "Streaming Texture"
bl_label = "Share Texture"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH', 'CYCLES'}

Expand All @@ -103,7 +103,7 @@ def draw(self, context):
layout.active = 1 - camera.texshare.enable

row = layout.row(align=True)
row.prop(ob.data, "name", text="Server name")
row.prop(ob.data, "name", text="Sender name")

row = layout.row(align=True)
row.prop(camera.texshare, "applyColorManagmentSettings", text="Apply color managment")
Expand Down

0 comments on commit b54be5e

Please sign in to comment.