Welcome to Fractal Forums

Fractal Software => Synthclipse => Topic started by: cKleinhuis on September 03, 2014, 12:24:47 AM




Title: feature/functionality request - SPOUT
Post by: cKleinhuis on September 03, 2014, 12:24:47 AM
while doing my research on live vjing, i encountered a neat feature that would be awesome to be included in synthclipse

it is called SPOUT and provides a way to share textures between application, with this method a realtime rendered shader can be used in many different applications (for example resolume vj software) as input!

i have not read about the specs yet but i think it is some protocoll that needs to be implemented for it:

http://spout.zeal.co/


Title: Re: feature/functionality request - SPOUT
Post by: _revers_ on September 03, 2014, 10:01:31 AM
Do you mean to make Synthclipse a SPOUT sender, not a recivier? I don't know yet SPOUT API, but I think I could try to add this feature to Synthclipse.


Title: Re: feature/functionality request - SPOUT
Post by: cKleinhuis on September 03, 2014, 10:34:19 AM
yes, a sender, because synthclipse is the provider of awesome realtime effects, and other software could use it and mix it in realtime, just read about it in a vj forum


Title: Re: feature/functionality request - SPOUT
Post by: _revers_ on September 06, 2014, 02:54:58 PM
First results look promising:

(http://bankfotek.pl/thumb/1785553.jpeg) (http://bankfotek.pl/image/1785553).

Spout support will be included in Synthclipse 0.9.6.


Title: Re: feature/functionality request - SPOUT
Post by: cKleinhuis on September 06, 2014, 07:09:08 PM
wow, supercool, nice to have feature, in fact by including this you are making the synthclipse really attractive for vj and live performer, like i wanna be ;) so i will give it a try as soon as you publish it

i am interested in how it works, i mean, do you render your stuff and send over the texture as often as possible to the program ? i mean how much latency do you encounter yet at this early stage, should eclipse rendering be switched of when using it in another app ?


Title: Re: feature/functionality request - SPOUT
Post by: _revers_ on September 06, 2014, 10:57:14 PM

i am interested in how it works, i mean, do you render your stuff and send over the texture as often as possible to the program ?

Spout shares textures between two processes using NV_DX_interop (https://www.opengl.org/registry/specs/NV/DX_interop.txt) functionality. Although it is nVidia extension it is supported by AMD/ATI video cards as well.
Synthclipse sends its output to a Spout receiver every frame, but since there is no synchronization between sender and receiver usually not every frame is displayed by the receiver.

i mean how much latency do you encounter yet at this early stage

There is certainly some latency but I'm not able to tell you how much there is. Here are couple of measurements on my ATI Radeon HD 5850 video card (59 FPS on the recivier is the maximum due to v-sync [60 FPS never occurs due to timer inaccuracy]):

(http://bankfotek.pl/thumb/1785817.jpeg) (http://bankfotek.pl/image/1785817)

(http://bankfotek.pl/thumb/1785820.jpeg) (http://bankfotek.pl/image/1785820)

(http://bankfotek.pl/thumb/1785823.jpeg) (http://bankfotek.pl/image/1785823)

should eclipse rendering be switched of when using it in another app ?

No, Synthclipse rendering is not switched off when sending output to a Spout receiver (as you can see on the screenshots).

I hope to finish implementing Spout support tomorrow, and I probably release Synthclipse 0.9.6 in the monday.


Title: Re: feature/functionality request - SPOUT
Post by: _revers_ on September 08, 2014, 08:29:10 AM
I've decided to not release Synthclipse 0.9.6 yet (I need to fix something), but you can check out 0.9.6-preview with Spout support. (https://sourceforge.net/projects/synthclipse/files/unstable-alpha/)

To enable Spout just select "share output using Spout" button in the Rendering View:

(http://bankfotek.pl/thumb/1786343.jpeg) (http://bankfotek.pl/image/1786343)


Title: Re: feature/functionality request - SPOUT
Post by: cKleinhuis on September 08, 2014, 11:21:36 AM
very nice, so really just sharing a texture should be very performant!


Title: Re: feature/functionality request - SPOUT
Post by: cKleinhuis on September 08, 2014, 11:35:43 AM
and it does take the resolution that is entered in the render window? somehow i think the resolution entered there does not get used by the program, does it only update the view when recompiling the formula?


Title: Re: feature/functionality request - SPOUT
Post by: _revers_ on September 08, 2014, 12:13:01 PM
If "Same as Viewport" checkbox is selected on the Rendering View, the resolution will be the same as Viewport's. Otherwise it will take the resolution enetered in width/height text fields.
View is updated in every frame, not only when recompiling. Try to play animation.