Previous topicNext topic

Permit feedback around a series of modules

Suggestions for new features for Magic.
Post Reply
Terry Payman
Posts: 720
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Permit feedback around a series of modules

Post by Terry Payman »

I love feedback, and it would be really cool if I could take the output of a series of modules ( say Scale--RotateAxis--HueSaturation) and feed that back into a summing input. Perfect for custom Trail-like effects.

Magic won't let me do this at present. :(

Any chance? Please!
Magic
Site Admin
Posts: 3451
Joined: Wed Apr 09, 2014 9:28 pm

Re: Permit feedback around a series of modules

Post by Magic »

Honestly I'm not sure how I could make that work. Any connection from an output to a previous input would cause an infinite loop and the program would freeze, which is why it's not possible.

Maybe it would work with two modules -- one to mark the output, and one to mark the input -- but that's just a hunch, and I'd have to think about it a bit more. Currently, modules can't communicate directly with one another.
artnik
Posts: 268
Joined: Tue Jan 05, 2016 5:33 pm

Re: Permit feedback around a series of modules

Post by artnik »

Genuinely curious Terry, do you have any examples of the kinds of effects you're looking to achieve with this kind of looping?

I'm not sure if you've tried it, but there is an ISF "Feedback Loop" that includes rotation, scaling and hue shifting in a single module: https://www.interactiveshaderformat.com/sketches/1317

"Video Feedback" is similar, but adds the ability to do edge detection as part of the feedback.
https://www.interactiveshaderformat.com/sketches/901

Another, "Echo Trace", is good for generating trails, such as you would get with stamping down copies of an object as it moves: https://www.interactiveshaderformat.com/sketches/326
Terry Payman
Posts: 720
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Permit feedback around a series of modules

Post by Terry Payman »

Eric wrote:..Any connection from an output to a previous input would cause an infinite loop and the program would freeze...

Maybe it would work with two modules -- one to mark the output, and one to mark the input --... Currently, modules can't communicate directly with one another.
I presume the freeze issue is related to the parsing of the project, and that the proposed new modules "bracket" the feedback network.

FWIW, and in complete ignorance, would it work for the BufferIn and BufferOut modules both to be associated with a specific global buffer that the user has created and named? AFAICS they then wouldn't have to communicate with each other at all. Buffer selection could be similar to the existing selection of a global variable name from a Modifier drop-down list.
artnik wrote:Genuinely curious Terry, do you have any examples of the kinds of effects you're looking to achieve with this kind of looping?
To be honest artnik, I don't have examples yet. My purpose is to have complete freedom to define a feedback effect graphically with Magic rather than textually with ISF. For me Magic design is intuitive and fast (in complete contrast to my ISF productivity).

Initially I want to be able to emulate my analogue camera>processing>monitor feedback systems
- Monitor appears at least partly within the camera's field of view.
- Camera can be moved freely.
- Camera's view of the monitor can be obstructed by lit or unlit objects, eg a person's hand.
- Linear processing includes brightness/contrast/gamma/hue/saturation
- Non-linear processing includes luma/chroma keying.
- Aliasing between the camera scanning and the monitor's shadowmask is often useful.

It would be also be great to have an X-Y-Z(intensity) input to the buffer, for oscilloscope simulation.

I'd like to post some examples, but have not time at present. I'm installing a system tomorrow, so need to prioritise that.
Magic
Site Admin
Posts: 3451
Joined: Wed Apr 09, 2014 9:28 pm

Re: Permit feedback around a series of modules

Post by Magic »

I presume the freeze issue is related to the parsing of the project, and that the proposed new modules "bracket" the feedback network.
Yup exactly. The current frame is drawn by traversing the path of the scene's modules and connectors, so if the connectors form a loop, the drawing will go on infinitely. The only solution is to break up the loop with some kind of bracket as you described.
FWIW, and in complete ignorance, would it work for the BufferIn and BufferOut modules both to be associated with a specific global buffer that the user has created and named? AFAICS they then wouldn't have to communicate with each other at all. Buffer selection could be similar to the existing selection of a global variable name from a Modifier drop-down list.
Yes, hypothetically, I think it would work something like that :).

Overall though, it's a lot of work just for a feedback-style effect, which, in the big picture, is just one of many effects. So for now at least, I do think the best solution is an ISF shader as artnik suggested.
Terry Payman
Posts: 720
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Permit feedback around a series of modules

Post by Terry Payman »

Ah well. Thanks anyway Eric, and thanks again artnik for these and your many other other ISF links and ports. :)
Sadler
Posts: 1190
Joined: Sat Aug 02, 2014 7:10 pm
Location: London, UK

Re: Permit feedback around a series of modules

Post by Sadler »

I couldn't get the feedback effect I wanted with any of those IFS modules but I guess their respective developers have different ideas about what constitutes a feedback effect - I would have thought there were many video feedback loop type effects that could legitimately be called feedback.

Here's a demo of my favourite feedback effect (fug) but its 32bit FFGL only.
This was not a trivial comp to set up either and not perfect in terms of flexibility (TV can't easily be scaled) and luma key bleed. I'd prefer not to have to use lumakey when I've gone to the trouble of creating a separate mask. Perhaps a built-in feedback facility between modules/scenes would be more flexible and predictable but it would be useful to see your ideas of what feedback looks like.
Terry Payman
Posts: 720
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Permit feedback around a series of modules

Post by Terry Payman »

Alex May's fugFeedback is my favourite too. Now also available in 64-bit!
( For those who haven't tried it, a bargain at only £5.00 https://www.bigfug.com/product/ffgl-video-feedback/ )

I too have failed to get any ISF feedback to match either the smoothness or the functionality of fugFeedback - I was trying again only today. Now having the luxury of 8GB of GPU memory with my new GTX 1070 card, I will probably revise my plan to move to 64-bit Magic and exclusively ISF.

Just a quick test that needs confirmation, but I was surprised to find that I could use nearly all 8GB of GPU memory even with 32-bit Magic. I had an old project that nearly filled the 4GB on my previous GTX 580 card, and ran very slowly if all scenes loaded into memory. Now I can up the resolution to 1080p (from 720p), and run at 60fps with all scenes loaded. There's around 500Mb free memory left on the card, so that's around 7.5GB used.
Magic
Site Admin
Posts: 3451
Joined: Wed Apr 09, 2014 9:28 pm

Re: Permit feedback around a series of modules

Post by Magic »

I was surprised to find that I could use nearly all 8GB of GPU memory even with 32-bit Magic.
I think that's correct. GPU memory is referenced differently than regular memory, so it isn't limited by a 32-bit address space even when the application is 32-bit.
Terry Payman
Posts: 720
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Permit feedback around a series of modules

Post by Terry Payman »

:D :D :D :D :D :D :D
Fractal Grinder
Posts: 109
Joined: Tue Jun 23, 2015 7:42 pm

Re: Permit feedback around a series of modules

Post by Fractal Grinder »

If we could get something like that bigfug plug in working in 64 bit magic that would be super rad.
Sadler
Posts: 1190
Joined: Sat Aug 02, 2014 7:10 pm
Location: London, UK

Re: Permit feedback around a series of modules

Post by Sadler »

The chaps at Resolume mentioned they're working on 64bit for Avenue/Arena v6 which will include 64bit FFGL. Whether Alex May updates his plugins is another matter.
Magic
Site Admin
Posts: 3451
Joined: Wed Apr 09, 2014 9:28 pm

Re: Permit feedback around a series of modules

Post by Magic »

The chaps at Resolume mentioned they're working on 64bit for Avenue/Arena v6 which will include 64bit FFGL.
That's cool, I think those will be the first 64-bit FFGL plugins. Theoretically they should work with Magic, but I've never had any to test with. When they become available, remind me to investigate :).
Terry Payman
Posts: 720
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Permit feedback around a series of modules

Post by Terry Payman »

artnik wrote:Genuinely curious Terry, do you have any examples of the kinds of effects you're looking to achieve with this kind of looping?
Finally, yes. :D
A few variations on a basic setup. Note that the feedback is constrained.
Sadler
Posts: 1190
Joined: Sat Aug 02, 2014 7:10 pm
Location: London, UK

Re: Permit feedback around a series of modules

Post by Sadler »

Eric wrote:When they become available, remind me to investigate :).
Resolume Beta became public today and although many of their FFGL effects have been subsumed into the application proper, there are a few, presumably 64bit, plugins in the beta install. All of these seem to work in 64bit Magic!

Only customers are able to download the beta but there's a video and new features list on their site.
Sadler
Posts: 1190
Joined: Sat Aug 02, 2014 7:10 pm
Location: London, UK

Re: Permit feedback around a series of modules

Post by Sadler »

Bigfug has updated his plugins to 64 bit for Resolume. They work in Magic Music Visuals 64 bit! Includes feedback, power (spectrum), scope (waveform) and glitch. Not so important in MMV now but simple to use.
Terry Payman
Posts: 720
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Permit feedback around a series of modules

Post by Terry Payman »

Sadler wrote:Bigfug has updated his plugins to 64 bit for Resolume. They work in Magic Music Visuals 64 bit!...
IMO still good value at £19.99 for the set even if one only uses the feedback module (it gives much cleaner results than the Zooming Feedback ISF).
https://www.bigfug.com/product/bigfug-f ... on-windows

Individual modules are now £5 for either the 32-bit or 64-bit versions.
https://www.bigfug.com/software/freeframe/
Terry Payman
Posts: 720
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Permit feedback around a series of modules

Post by Terry Payman »

Update: Using Spout
I've just realised that under Windows I can use Spout senders and receivers to enable feedback around a series of modules, although there are some issues.

1) There is an apparent problem with levels, and blacks sometimes get crushed. The fix seems arbitrary.
2) The Spout Receiver does not display the selected sender name, and I suspect may not always retain it.
3) This seems to be a 32-bit-only solution.

More details available, if anyone shows interest!
Post Reply