YOUR ACCOUNT

ThreeDee
Lost in Space

Posts: 1672
Filters: 112
Interestingly you can now coerce one Control component into another of the same kind, by which I mean you can "plug" any grey Control into another type of grey Control, which converts the input values to the value range of the second Control.

(You can also convert a Color input into a Greyscale input in the same fashion.)

Here's an example:

1) Create a filter with an Angle Control and plug it into Perlin Noise Angle.

2) Select both components and make them into a Group

3) Create an IntSlider and plug it into the Angle input of the Group

>> And now you are magically controlling the Angle Control component with the IntSlider Control.

As to the filter itself, you could of course achieve the same exact result just plugging the IntSlider directly into the Angle control of a Perlin Noise Angle input. So, is there a practical application for this?

Well, if the IntSlider gets fixed so it doesn't blow up above 20 when inside a group, you could force any input to an interger value, for instance.

Or make any grey control component run the values of a number of other grey control components while coercing them into the ranges of those controls.

I'm sure someone can come up with a practical example that is actually useful...
  Details E-Mail
Vladimir Golovin
Administrator
Posts: 3446
Filters: 55
Also note that this basically gives you multiple remappers between the control and its final target input. I don't think there's a practical application for this, it's just a side effect of our implementation of groups.
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1672
Filters: 112
Yes, that is what it essentially does.

The most useful ones would probably be remapping anything to an integer or a checkbox ("yes or no").

I like the ability to constrain the Angle control to any integer or multiple thereof this way. Just need to fix that IntSlider bug...

You can also override the Bezier Curve Control with any Curve in the same way.

Essentially you have added an input (or a way to get one) into all the control nodes.

Enclosed filter is an example of the default remappings of an Angle Control to other control types.

Coercion example.ffxml
  Details E-Mail
Crapadilla
lvl 52 Filter Weaver and Official "Filter Forge Seer"

Posts: 4365
Filters: 65
Quote
Also note that this basically gives you multiple remappers between the control and its final target input. I don't think there's a practical application for this, it's just a side effect of our implementation of groups.


There is a practical application for this once you begin to share Groups like Custom Components or snippets:

* The Custom Component's author can use internal remappers to constrain the Custom Component's output for general usability.

* The 'end user' can use external remappers to fine-tune the Custom Component's behaviour inside the filter that he's building.

In summary, I think this is a very forward-looking implementation. smile:)
--- Crapadilla says: "Damn you, stupid redundant feature requests!" ;)
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1672
Filters: 112
Indeed. It certainly gives additional flexibility for reuse and sharing.

Which brings me to an important question: Is there any possibility of giving the Group a value output (gray output) if the only component inside the group is a gray control? This would make this coercion feature complete.
  Details E-Mail

Join Our Community!

Filter Forge has a thriving, vibrant, knowledgeable user community. Feel free to join us and have fun!

33,712 Registered Users
+19 new in 30 days!

153,534 Posts
+31 new in 30 days!

15,348 Topics
+72 new in year!

Create an Account

Online Users Last minute:

11 unregistered users.