Is the Fusion/Resolve API poor?

User avatar
DeanPhillips1991
Posts: 8
Joined: Thu Sep 12, 2019 6:06 pm

Is the Fusion/Resolve API poor?

#1

Post by DeanPhillips1991 » Sun Sep 15, 2019 3:47 pm

Hey all,

Back in May, I contacted the team at MotionVFX. They create incredible plugins and tools for FCPX. I asked them if they'd ever consider working on plugins and tools for Resolve, however here's what they said:

"We have researched Resolve as a potential platform for our products but its OpenFX support and UI API was so sluggish that we had to abandon the idea.
We'll most likely go back and see if anything changed since then though but it's hard to tell when exactly will we be able to do that"

Has resolve updated anything on this front in recent times or is it actually limited from a third party perspective vs FCPX?

I reached out to Blackmagic about this but never got a response, so I was hoping you all might have some insight, as there are so many knowledgeable people on the forum :)

Thanks so much.


User avatar
Chad
Fusionator
Posts: 1419
Joined: Fri Aug 08, 2014 1:11 pm
Been thanked: 14 times

Re: Is the Fusion/Resolve API poor?

#2

Post by Chad » Sun Sep 15, 2019 4:52 pm

OpenFX is terrible.

It's never not terrible.

BMD is working on a native plugin system based on DCTL, but I'm not sure what the UI limitations are that would be deal breakers. One huge issue is BMD's lack of clarity on how they want users to use plugins. They didn't kill ResolveFX, but they have been pushing some feature requests to Fusion. So should users be making plugins for Fusion or not? I don't think there's a clear vision expressed on that.

But OpenFX? That's terrible.


User avatar
DeanPhillips1991
Posts: 8
Joined: Thu Sep 12, 2019 6:06 pm

Re: Is the Fusion/Resolve API poor?

#3

Post by DeanPhillips1991 » Sun Sep 15, 2019 5:33 pm

That's awesome to know, thanks Chad!

Yeah, that does seem pretty confusing and they've not really made that clear to plugin creators (from what i can tell)

Do you know if there's any resources or comments from BM on this new plugin system? (only stuff that comes up for me is OFX).

I'm really hoping this opens a few more doors for us Davinci users :)


User avatar
SecondMan
Site Admin
Posts: 3580
Joined: Thu Jul 31, 2014 5:31 pm
Answers: 5
Location: Vancouver, Canada
Been thanked: 104 times
Contact:

Re: Is the Fusion/Resolve API poor?

#4

Post by SecondMan » Sun Sep 15, 2019 10:35 pm

Fusion's API is not the same as Resolve's. I don't know much (yet) about Resolve's one, but Fusion's is far from poor. All you need to do is look at plugins like Krokodove or CustomShader3D for proof of that. And let's not forget the many Fuses and Scripts you can find all over this place (and in Reactor).

But what would be a better question for the forum here, is what those awesome tools are that you speak of? What do they do, exactly, and is there perhaps a way that you can already do what you are after (but just don't know it yet)? :)


User avatar
MajorTom
Posts: 3
Joined: Sun Oct 06, 2019 7:52 pm

Re: Is the Fusion/Resolve API poor?

#5

Post by MajorTom » Sun Oct 06, 2019 9:03 pm

SecondMan wrote:
Sun Sep 15, 2019 10:35 pm
But what would be a better question for the forum here, is what those awesome tools are that you speak of? What do they do, exactly, and is there perhaps a way that you can already do what you are after (but just don't know it yet)? :)
Having talked to several After Effects users who are interested in Fusion, the most common barrier to entry is that they know the Red Giant AE tools (VFX suite, Trapcode suite and Magic Bullet suite) and while they believe that everything is possible within Fusion, they have no idea how to re-create these extensions. A set of simple examples for how one would implement some of the Red Giant tools in native Fusion would go a long way to getting people to at least give Fusion a chance.

User avatar
Midgardsormr
Fusionator
Posts: 1214
Joined: Wed Nov 26, 2014 8:04 pm
Answers: 3
Location: Los Angeles, CA, USA
Been thanked: 95 times
Contact:

Re: Is the Fusion/Resolve API poor?

#6

Post by Midgardsormr » Sun Oct 06, 2019 9:13 pm

I'm not sure exactly how many plugins Red Giant currently publishes, but it's a lot. Rather than asking these very busy TDs to just throw darts and hope they hit the specific effects 'people' might be interested in, a priority list would go a long way toward getting interesting things to happen.

Bear in mind that many of us have been out of the AE world for a decade or more. You can toss brand names at us all day, but we don't have a clue what the current capabilities of any of the plug-ins are.

Personally, I've been working on bringing the capabilities of Saber to Fusion. It's a bit of a job, but I'm at about 80% right now (TaperedShapes and XGlow).

User avatar
Tracken
Posts: 2
Joined: Tue Oct 08, 2019 4:50 am

Re: Is the Fusion/Resolve API poor?

#7

Post by Tracken » Tue Oct 08, 2019 5:45 am

Midgardsormr wrote:
Sun Oct 06, 2019 9:13 pm
Personally, I've been working on bringing the capabilities of Saber to Fusion.
That’s really cool. Saber is something that I use pretty frequently in AE. I hope to see that tool in the future. :)

I’ve been trying to make the jump to Resolve/Fusion from AE, but I will admit it’s been a little intimidating trying to get to the same relative skill level in Fusion without all the plugins I had purchased for AE.

I use a lot of 3rd party plugins like Element3D and many from Red Giant, and while Element isn’t exactly needed anymore, I do feel the burn in the learning curve sans my favorite tools. I use Shine religiously, as well as a bunch of Universe tools like holomatrix and their glitch effect. I would love to see more 3rd party or recreations of ‘standard’ plugins that people tend to get for AE. I think it would attract more interested users and retain them if their workflows aren’t disrupted. A simple problem, I know. :P

I’ve tried using some OFX tools and had mostly mixed to negative results, and I just don’t really know where to turn.

User avatar
Midgardsormr
Fusionator
Posts: 1214
Joined: Wed Nov 26, 2014 8:04 pm
Answers: 3
Location: Los Angeles, CA, USA
Been thanked: 95 times
Contact:

Re: Is the Fusion/Resolve API poor?

#8

Post by Midgardsormr » Tue Oct 08, 2019 7:31 am

Shine = Rays

Image

Code: Select all

{
	Tools = ordered() {
		DirectionalLight1 = LightDirectional {
			ViewInfo = OperatorInfo { Pos = { 385, 82.5 } },
		},
		Merge3D1 = Merge3D {
			Inputs = {
				SceneInput1 = Input {
					SourceOp = "Text3D1",
					Source = "Output",
				},
				SceneInput2 = Input {
					SourceOp = "DirectionalLight1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 495, 82.5 } },
		},
		Text3D1 = Text3D {
			Inputs = {
				["Transform3DOp.Translate.Y"] = Input { Value = -0.261, },
				["Transform3DOp.Rotate.X"] = Input { Value = -2.6, },
				LayoutRotation = Input { Value = 1, },
				AngleX = Input { Value = -18.3, },
				AngleY = Input { Value = 20.9, },
				StyledText = Input { Value = "Fusion", },
				Font = Input { Value = "Open Sans", },
				Style = Input { Value = "Bold", },
				VerticalTopCenterBottom = Input { Value = 1, },
				VerticalJustification = Input { Value = 3, },
				VerticalJustificationNew = Input { Value = 3, },
				HorizontalJustificationNew = Input { Value = 3, },
				Extrusion = Input { Value = 1, },
				ExtrusionProfile = Input {
					SourceOp = "Text3D1ExtrusionProfile",
					Source = "Value",
				},
				ExtrusionDepth = Input { Value = 0.1197, },
				ManualFontKerningPlacement = Input {
					Value = StyledText {
						Array = {
						},
						Value = ""
					},
				},
			},
			ViewInfo = OperatorInfo { Pos = { 385, 115.5 } },
		},
		Text3D1ExtrusionProfile = LUTBezier {
			KeyColorSplines = {
				[0] = {
					[0] = { 0, RH = { 0.0196116135138184, 0.098058067569092 }, Flags = { Linear = true } },
					[0.2] = { 1, LH = { 0.180388386486182, 0.901941932430908 }, RH = { 0.3, 1 }, Flags = { Linear = true } },
					[0.8] = { 1, LH = { 0.7, 1 }, RH = { 0.819611613513818, 0.901941932430908 }, Flags = { Linear = true } },
					[1] = { 0, LH = { 0.980388386486182, 0.098058067569092 }, Flags = { Linear = true } }
				}
			},
			SplineColor = { Red = 192, Green = 128, Blue = 64 },
			NameSet = true,
		},
		Renderer3D1 = Renderer3D {
			CustomData = {
				ToolVersion = 2,
			},
			Inputs = {
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				SceneInput = Input {
					SourceOp = "Merge3D1",
					Source = "Output",
				},
				["RendererSoftware.LightingEnabled"] = Input { Value = 1, },
				["RendererSoftware.ShadowsEnabled"] = Input { Value = 1, },
			},
			ViewInfo = OperatorInfo { Pos = { 605, 82.5 } },
		},
		Background1 = Background {
			CtrlWZoom = false,
			Inputs = {
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				Type = Input { Value = FuID { "Gradient" }, },
				GradientType = Input { Value = FuID { "Radial" }, },
				Start = Input { Value = { 0.495508504894787, -0.201923076923077 }, },
				End = Input { Value = { 1.00721045955703, 1.01923076923077 }, },
				Gradient = Input {
					Value = Gradient {
						Colors = {
							[0] = { 0, 0, 0, 1 },
							[1] = { 0.172805, 0.150875, 0.425, 1 }
						}
					},
				},
			},
			ViewInfo = OperatorInfo { Pos = { 660, 148.5 } },
		},
		ColorCorrector1 = ColorCorrector {
			Inputs = {
				WheelTintAngle1 = Input { Value = 0.633832861444067, },
				WheelTintLength1 = Input { Value = 0.606, },
				ColorRanges = Input {
					Value = ColorCurves {
						Curves = {
							{
								Points = {
									{ 0, 1 },
									{ 0.4, 0.2 },
									{ 0.6, 0 },
									{ 1, 0 }
								}
							},
							{
								Points = {
									{ 0, 0 },
									{ 0.4, 0 },
									{ 0.6, 0.2 },
									{ 1, 1 }
								}
							}
						}
					},
				},
				HistogramIgnoreTransparent = Input { Value = 1, },
				Input = Input {
					SourceOp = "Renderer3D1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 715, 82.5 } },
		},
		Merge1 = Merge {
			Inputs = {
				Background = Input {
					SourceOp = "Background1",
					Source = "Output",
				},
				Foreground = Input {
					SourceOp = "Rays1",
					Source = "Output",
				},
				PerformDepthMerge = Input { Value = 0, },
			},
			ViewInfo = OperatorInfo { Pos = { 825, 148.5 } },
		},
		Rays1 = Fuse.OCLRays {
			Inputs = {
				Center = Input { Value = { 0.272563176895307, 0.189102564102564 }, },
				Decay = Input { Value = 0.0079, },
				Weight = Input { Value = 1.18, },
				Image = Input {
					SourceOp = "ColorCorrector1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 825, 82.5 } },
		}
	}
}
And look for the Glitch Tools in Reactor—I made a few analog and digital glitch effects. There aren't as many of them available as I have planned, but I keep getting distracted by other projects. Also, that was a pretty early effort on my part, and they're not all as well polished as I'd like. I think some still break in proxy mode, and I'm not 100% sure they'll all work for non-HD formats.

User avatar
Tracken
Posts: 2
Joined: Tue Oct 08, 2019 4:50 am

Re: Is the Fusion/Resolve API poor?

#9

Post by Tracken » Sat Oct 12, 2019 1:53 am

Whelp... that sorta solves a lot of my problems! Thanks so much! I also just started going through all the different Reactor tools and I have to say that I'm pretty impressed by what's there as it is. :)

I'll be playing around with a lot of these over the next few days. :)