Welcome to WSL!

Make yourself at home, but before posting, please may I ask you to read the following topics.


Posting 101
Server space, screenshots, and you

Thank you!

PS. please pretty please:


Image

Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

Show us your bits!

Moderator: Dunn

User avatar
Shem Namo
Fusionista
Posts: 602
Joined: Sun Oct 06, 2019 9:15 pm
Answers: 1
Location: North Israel
Real name: David Kohen
Been thanked: 38 times

Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#1

Post by Shem Namo » Tue Jul 07, 2020 3:50 am

Image
Learn Now FX would like to present:
Nova, A Brand New Particle Background Builder Fuse.

Create Dynamic Abstract Backgrounds with Ease!!

Features include:
  • Creates a Customize-able Particle Background
  • Completely Procedural
  • Works in The Free Version of Davinci Resolve
  • Dynamic User Interface
  • GPU Accelerated
This works in the free version of Davinci Resolve and Fusion.

GPU Accelerated, Compatible with:
  • Metal
  • Cuda
  • OpenCL
Since this Fuse uses DCTL for GPU Acceleration, it only works in Fusion 15+
You can get Nova for FREE on the Learn Now FX Website

I would like to Thank all of my friends here on WSL for teaching me how to code.
I want to give a special thanks to @Midgardsormr , @AndrewHazelden , @intelligent machine ,
@SecondMan , @PeterLoveday , @Aleksander,
@chrisr, @thibaud , and everyone else who helped me learn!!

Thank you,
I really appreciate it!!
@SecondMan, if this is relevant and you have some time, could this pretty please be a part of the WSL banner collection? Thank you :)

User avatar
intelligent machine
Fusionista
Posts: 626
Joined: Fri May 13, 2016 10:01 pm
Answers: 6
Location: Austin, Texas, USA
Real name: Sam Treadway
Been thanked: 38 times
Contact:

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#2

Post by intelligent machine » Tue Jul 07, 2020 5:55 am

Very cool, David!
I'll check it out for sure.

I'd suggest making a short, highlights teaser video just showcasing the end result of effect variations... for those of us who don't want to sit through an 18+ minute tutorial video to see what it does...and your intro is soooooo Andrew Kramer!

User avatar
Shem Namo
Fusionista
Posts: 602
Joined: Sun Oct 06, 2019 9:15 pm
Answers: 1
Location: North Israel
Real name: David Kohen
Been thanked: 38 times

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#3

Post by Shem Namo » Tue Jul 07, 2020 6:07 am

Thanks Sam!!
That's a great idea!! I'll make sure to make a highlight video ASAP.
and your intro is soooooo Andrew Kramer!
:mrgreen:

Thanks again,
David

User avatar
ShadowMaker SdR
Fusionista
Posts: 951
Joined: Sun Sep 21, 2014 6:17 am
Answers: 8
Been thanked: 48 times

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#4

Post by ShadowMaker SdR » Tue Jul 07, 2020 7:36 am

It looks really cool David. I agree with Sam about doing a highlight reel. The Andrew Kramer thing I don't mind, because it's such a recognizable thing. Whenever I do a tutorial I make sure to say 'a very ex-ci-ting tutorial' at least once. ;-)
One technical thingee though: using the DVE in your tutorial. Why? Everything you do in there, you can do right inside the Text+ tool and if you do that the results will be much cleaner, because you stay in the 'vector realm' when resizing. Now you lose a lot of quality which is a pity for something that's supposed to show off your skills.

User avatar
Shem Namo
Fusionista
Posts: 602
Joined: Sun Oct 06, 2019 9:15 pm
Answers: 1
Location: North Israel
Real name: David Kohen
Been thanked: 38 times

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#5

Post by Shem Namo » Tue Jul 07, 2020 8:56 am

Thanks Sander!!
I'm really glad you guys like it!!

Hmm, I didn't think about that, thanks for the tip!!
I'll make sure to use it the next time around!!

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

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#6

Post by SecondMan » Tue Jul 07, 2020 11:49 am

Fun Fuse! Thanks for sharing, David! You've come a long way already :)

I've played around with it and it works well, including the effect mask ;)

I did find an issue with Scatter Solid - you can see it happen at 0.5 if Ease Scattered Solid is kept to its default (it shifts with the latter adjusted).

I'd like to offer a little bit of constructive criticism if you don't mind. I don't know how this is built, so you tell me if any of this is possible, but I very quickly ran into the limit of what this tool can generate. I was looking for ways to adjust particle count, line thickness, turning the connector dots on and off and changing their size, etc. If there would be more control over those individual components, the tool would be made much more general-purpose and work generated with it could be less "oh, that's just that tool I know".
Shem Namo wrote:
Tue Jul 07, 2020 3:50 am
@SecondMan, if this is relevant and you have some time, could this pretty please be a part of the WSL banner collection? Thank you
Sure, absolutely :) - banner size is 1170x320, try to keep the size reasonable. PM it to me and I'll get it up there!

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

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#7

Post by SecondMan » Tue Jul 07, 2020 12:15 pm

One thing - there seems to be no attribution for any of the code anywhere in the Fuse?

You're not forgetting to credit your sources, right, @Shem Namo?

User avatar
intelligent machine
Fusionista
Posts: 626
Joined: Fri May 13, 2016 10:01 pm
Answers: 6
Location: Austin, Texas, USA
Real name: Sam Treadway
Been thanked: 38 times
Contact:

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#8

Post by intelligent machine » Tue Jul 07, 2020 12:18 pm

After running this in a loop over 300 frames for a little bit and adjusting parameters I get the following error which I'm unable to recover from without closing the comp:
stack traceback:
[C]: in function 'GetParamBlock'
...on Support/Blackmagic Design/Fusion/Fuses/Nova-v1.1.fuse:758: in function <...on Support/Blackmagic Design/Fusion/Fuses/Nova-v1.1.fuse:714>
Nova1 failed at time 164
table overflow

User avatar
intelligent machine
Fusionista
Posts: 626
Joined: Fri May 13, 2016 10:01 pm
Answers: 6
Location: Austin, Texas, USA
Real name: Sam Treadway
Been thanked: 38 times
Contact:

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#9

Post by intelligent machine » Tue Jul 07, 2020 12:24 pm

Nova Fast Noise:

Image
  1. {
  2.     Tools = ordered() {
  3.         Nova1 = Fuse.Nova {
  4.             CtrlWZoom = false,
  5.             Inputs = {
  6.                 GlobalOut = Input { Value = 300, },
  7.                 Width = Input { Value = 1920, },
  8.                 Height = Input { Value = 1080, },
  9.                 ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
  10.                 Layers = Input { Value = 7, },
  11.                 Zoom = Input {
  12.                     SourceOp = "Nova1Zoom",
  13.                     Source = "Value",
  14.                 },
  15.                 ZoomSpeed = Input { Value = 4.38, },
  16.                 AutoZoom = Input { Value = 1, },
  17.                 ScatterSolid = Input { Value = 0, },
  18.                 EaseScatteredSolid = Input { Value = 0, },
  19.                 BrightencloseLines = Input { Value = 0, },
  20.                 FadeBack = Input { Value = 0.8, },
  21.                 Transform = Input { Value = 1, },
  22.                 Center = Input { Value = { 0.5, 0.461111111111111 }, },
  23.                 Scale = Input { Value = 0.0187, },
  24.                 RotationSpeed = Input { Value = 10, },
  25.                 AutoRotate = Input { Value = 1, },
  26.                 Glow = Input { Value = 1, },
  27.                 Bloom = Input { Value = 1.976, },
  28.             },
  29.             ViewInfo = OperatorInfo { Pos = { 330, 49.5 } },
  30.             Version = 110
  31.         },
  32.         Nova1Zoom = BezierSpline {
  33.             SplineColor = { Red = 254, Green = 144, Blue = 123 },
  34.             NameSet = true,
  35.             KeyFrames = {
  36.                 [0] = { 0, RH = { 100, 133.333333333333 }, Flags = { Linear = true } },
  37.                 [300] = { 400, LH = { 200, 266.666666666667 }, Flags = { Linear = true } }
  38.             }
  39.         }
  40.     },
  41.     ActiveTool = "Nova1"
  42. }

User avatar
Shem Namo
Fusionista
Posts: 602
Joined: Sun Oct 06, 2019 9:15 pm
Answers: 1
Location: North Israel
Real name: David Kohen
Been thanked: 38 times

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#10

Post by Shem Namo » Tue Jul 07, 2020 12:46 pm

Fun Fuse! Thanks for sharing, David! You've come a long way already
Thank you Pieter, those words mean a lot coming from you!! :)
I did find an issue with Scatter Solid - you can see it happen at 0.5 if Ease Scattered Solid is kept to its default (it shifts with the latter adjusted).

I'd like to offer a little bit of constructive criticism if you don't mind. I don't know how this is built, so you tell me if any of this is possible, but I very quickly ran into the limit of what this tool can generate. I was looking for ways to adjust particle count, line thickness, turning the connector dots on and off and changing their size, etc. If there would be more control over those individual components, the tool would be made much more general-purpose and work generated with it could be less "oh, that's just that tool I know".


There's definitely room for improvement, thank you for your constructive criticism. ;)
I'll try to implement these features as soon as I can.
Sure, absolutely :) - banner size is 1170x320, try to keep the size reasonable. PM it to me and I'll get it up there!
Thanks Pieter, I'll send it as a G-Drive link to save bandwidth ;)
One thing - there seems to be no attribution for any of the code anywhere in the Fuse?
This is were I don't know what to do.
I made this tool following a ShaderToy tutorial, I should attribute the code, right? I honestly don't know the law/custom.
After running this in a loop over 300 frames for a little bit and adjusting parameters I get the following error which I'm unable to recover from without closing the comp:
Hmm, that's not good :oops:
I need to fix this ASAP, any ideas what might have caused it?
Are you running Metal, CUDA, or OCL?

Thank you everyone,
I really appreciate your support!!
David

User avatar
intelligent machine
Fusionista
Posts: 626
Joined: Fri May 13, 2016 10:01 pm
Answers: 6
Location: Austin, Texas, USA
Real name: Sam Treadway
Been thanked: 38 times
Contact:

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#11

Post by intelligent machine » Tue Jul 07, 2020 1:49 pm

Shem Namo wrote:
Tue Jul 07, 2020 12:46 pm
After running this in a loop over 300 frames for a little bit and adjusting parameters I get the following error which I'm unable to recover from without closing the comp:
Hmm, that's not good :oops:
I need to fix this ASAP, any ideas what might have caused it?
Are you running Metal, CUDA, or OCL?
Metal

I setup a comp with 50k frames and pasted the tool below into it and let it run until the error appeared in the console. I started receiving the error messages after playing 2140 frames. This test was a continuous play through without looping but the same occurs when looping a short timeline.
table overflow
stack traceback:
[C]: in function 'GetParamBlock'
...on Support/Blackmagic Design/Fusion/Fuses/Nova-v1.1.fuse:758: in function <...on Support/Blackmagic Design/Fusion/Fuses/Nova-v1.1.fuse:714>
Nova1 failed at time 2140


My assumption is a buffer is being initialized and filled and when full it just stops. It needs to be flushed.
I haven't looked over the source code at all. Are particles being destroyed when no longer in view?

BTW
My GPU is a Radeon Pro Vega 64 with 16GB of HBM2 memory.
I'm playing this back in HiQ mode without at full speed and the system activity monitor doesn't show anything unusual with the GPU.

Code: Select all

{
	Tools = ordered() {
		Nova1 = Fuse.Nova {
			CtrlWZoom = false,
			Inputs = {
				GlobalOut = Input { Value = 50000, },
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				Layers = Input { Value = 5, },
				Zoom = Input { Value = 266.5, },
				ZoomSpeed = Input { Value = 1.56, },
				AutoZoom = Input { Value = 1, },
				EvolutionRate = Input { Value = -5.89, },
				ScatterSolid = Input { Value = 0.694, },
				EaseScatteredSolid = Input { Value = 0.375, },
				FadeBack = Input { Value = 0.8, },
			},
			ViewInfo = OperatorInfo { Pos = { 330, 16.5 } },
			Version = 110
		}
	},
	ActiveTool = "Nova1"
}

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

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#12

Post by SecondMan » Wed Jul 08, 2020 12:14 am

Shem Namo wrote:
Tue Jul 07, 2020 12:46 pm
This is were I don't know what to do.
I made this tool following a ShaderToy tutorial, I should attribute the code, right? I honestly don't know the law/custom.
It's actually really simple, in principle (though practically it can get complex, but I don't think that applies here). You don't have to immediately worry about the legality of it, just think of it this way - you're using something that is made by someone else, so you give them credit for it. It's a way of saying thanks and being respectful of the efforts made by someone else.

Sometimes there's a copyright license attached to a work, like GPL or MIT or CC, which says exactly what you can and cannot do when you create a copy or a derivative of a work. Sometimes there is not, so in that case what I'd do is put a comment in your code that says you're using such and such code from someone and add a link to the original work.

Hope that helps explain it. Enjoy your banner, by the way ;)

User avatar
Shem Namo
Fusionista
Posts: 602
Joined: Sun Oct 06, 2019 9:15 pm
Answers: 1
Location: North Israel
Real name: David Kohen
Been thanked: 38 times

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#13

Post by Shem Namo » Wed Jul 08, 2020 1:05 pm

Thanks for explaining it Pieter, it makes a lot of sense.
I added the comments to the fuse,and I'll publish it as soon as I figure out how to fix the issue Sam encountered.
Enjoy your banner, by the way
Thank you so much, I really appreciate it!!
:cheer: :cheer: :cheer:

@intelligent machine , I tried the setup that you shared and I got the same issue,
I'm trying to fix it and will hopefully update it very soon.

I assume the the particles self destruct once the condition in the for loop becomes invalid.
Isn't that how it usually works?

I just can't figure out why it fails at exactly frame 2135(On my system too).

Thanks for reporting Sam, I really appreciate it!!
By the way, did you create that setup to test the limits of the fuse, or were you going to use the results in a project?

Thanks again,
David

User avatar
intelligent machine
Fusionista
Posts: 626
Joined: Fri May 13, 2016 10:01 pm
Answers: 6
Location: Austin, Texas, USA
Real name: Sam Treadway
Been thanked: 38 times
Contact:

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#14

Post by intelligent machine » Wed Jul 08, 2020 4:23 pm

Shem Namo wrote:
Wed Jul 08, 2020 1:05 pm
By the way, did you create that setup to test the limits of the fuse, or were you going to use the results in a project?
When initially testing features I just played a loop of 300 frames while adjusting parameters while playing. I noticed the errors several times and figured it happens around the same time in playback so I extended out the comp time to play continuously without looping.

It seems to be cumulative, meaning you can work on the comp for an hour and play through it intermittently and eventually it will fail when that limit is reached.

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

Re: Nova | A FREE Particle Background Builder Fuse for Fusion/Davinci Resolve [GPU Accelerated]

#15

Post by Midgardsormr » Thu Jul 09, 2020 9:49 am

Here's some data that might be helpful. I'm not sure what to do with it, but maybe someone who knows a bit more about LuaJIT can shed some light:

I dumped the value of params immediately after assignment and got something that looks like this: cdata<struct 4763>: 0x29799b88. That number right after struct climbs in value on every frame, eventually reaching a value of cdata<struct 65499>: 0x2bf89990. That is suspiciously close to the maximum value of a 16-bit number.

My guess is that the Fuse is storing the params block in a table that gets a new entry on every frame, but it's hidden in the C end of LuaJIT. I tried adding a table constructor of local params = {} right before the line that creates the block, but that had no effect. I have no idea how to manipulate that cdata struct.