Jump to: Board index » General » Fusion

scripting

Learn about 3D compositing, animation, broadcast design and VFX workflows.
  • Author
  • Message
Offline

Remco johannes

  • Posts: 109
  • Joined: Sun Dec 21, 2014 5:24 pm

scripting

PostWed Jul 22, 2015 10:54 am

Hi,

Is there a reason why fusion works with a programming scripting lanuage, that makes me feel i'm back in '87 (in a non no'stalgic way)

Regards,

Remco johannes
Offline
User avatar

Chad Capeland

  • Posts: 3025
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: scripting

PostWed Jul 22, 2015 10:57 am

If you're looking for a serious answer, please indicate as such.
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline

Remco johannes

  • Posts: 109
  • Joined: Sun Dec 21, 2014 5:24 pm

Re: scripting

PostWed Jul 22, 2015 11:18 am

Yes, I am looking for a serious answer.
Sorry for the confusion

What i mean is:
scripting languages are error prone, slow and there is verry little tooling.
So why use that in a performnce criticle spplication like fusion?


RJ
Offline

Sander de Regt

  • Posts: 3584
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: scripting

PostWed Jul 22, 2015 11:39 am

Scripting languages are also more versatile and customizable and capable of creating tools that are not part of the native tool set.
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline

Remco johannes

  • Posts: 109
  • Joined: Sun Dec 21, 2014 5:24 pm

Re: scripting

PostWed Jul 22, 2015 12:16 pm

Sander de Regt wrote: that are not part of the native tool set.

I understand that you don't want to have native bindings, but for example .net runs on win, mac and linux,

Sander de Regt wrote:Scripting languages are also more versatile and customizable and capable of creating tools

to stay on the .net example, C# and VB.Net (OOP) are IMHO verry customizable and excelent for tool creation, better than any scripting language.
The latest C# compiler is written in C# (and VB.net written in VB.net) and is as fast if not faster then the previous one written in c++

Regards,

Remco Johannes
Offline
User avatar

Chad Capeland

  • Posts: 3025
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: scripting

PostWed Jul 22, 2015 4:36 pm

Remco johannes wrote:scripting languages are error prone, slow and there is verry little tooling.
So why use that in a performnce criticle spplication like fusion?


The performance is only really critical when you have to iterate over pixels. A script that takes your comp and copies it to the clipboard is going to execute once and only take a couple ms anyway. So the performance for an interpreted language isn't an issue.

That said, Lua is really fast for an interpreted language. And Python has a lot of integration support with other visual effects applications. So between the two you get what you need done.

If you are iterating over pixels, though, Lua will work, but it's not as fast as we'd like. So instead Fusion supports Lua-JIT, OpenCL, and Cg. These are all compiled, and in the case of the latter two they run on the GPU. We've written C++ and Lua tools with OpenCL and it barely matters for performance if the vast majority of the computation is done in OpenCL.

Of course pure C++ is still available to you if you'd rather do that. The SDK is available somewhere, I don't have a link handy though.

Frankly, though, there just isn't a lot of call for C# for graphics. It was heavily C++ then moved to CUDA/OpenCL and there never was a push to get graphics applications onto C#, which was seen more as a internet/business app language. There isn't much of a benefit to doing C# to justify the effort.
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline

Remco johannes

  • Posts: 109
  • Joined: Sun Dec 21, 2014 5:24 pm

Re: scripting

PostThu Jul 23, 2015 8:15 am

Chad Capeland wrote:The performance is only really critical when you have to iterate over pixels. A script that takes your comp and copies it to the clipboard is going to execute once and only take a couple ms anyway. So the performance for an interpreted language isn't an issue.

Agreed, for batch files and such a scripting language is fine

Chad Capeland wrote:That said, Lua is really fast for an interpreted language. And Python has a lot of integration support with other visual effects applications. So between the two you get what you need done.

Yep, scripting is a bit of a standard in said software applications, It's fine for simple expressions and batch like app's, however with medium to large code bases its becomes hard to scale/maintain, and difficult to read(IMHO)
With a stacic typed language it is easier to see what you looking at.
An other advantage of a static typed lang is that it is much "easier" to make rich tooling and trap errors verry early on in the process and not in runtime.


Chad Capeland wrote:If you are iterating over pixels, though, Lua will work, but it's not as fast as we'd like. So instead Fusion supports Lua-JIT, OpenCL, and Cg. These are all compiled, and in the case of the latter two they run on the GPU. We've written C++ and Lua tools with OpenCL and it barely matters for performance if the vast majority of the computation is done in OpenCL.

That's good to hear

Chad Capeland wrote:Of course pure C++ is still available to you if you'd rather do that. The SDK is available somewhere, I don't have a link handy though.

LOL i don't like C++ either, to much redundancy.
besides that C++ gives you enough rope to hang yourself.
That's why i like vb.net/c#...static and strict like c++ without the redundancy and "rope"

Chad Capeland wrote:Frankly, though, there just isn't a lot of call for C# for graphics. It was heavily C++ then moved to CUDA/OpenCL and there never was a push to get graphics applications onto C#, which was seen more as a internet/business app language. There isn't much of a benefit to doing C# to justify the effort.

True .net is a business app environment and is not perse for manipulating pixels, but then again neither is Lua.

I gues i just don't like scripting languages ;)

EDIT: FWIW .net is using gpu hardware acceleration https://channel9.msdn.com/Events/Build/2015/2-631 fun starts @ 7:30

This is also a cool demo: animation in code in vb.net, it shows the ide tooling also https://channel9.msdn.com/Series/Creating-a-Universal-App-in-VB/UWP-getting-started-with-win2d fun starts rightaway

Regards,

Remco johannes
Offline

Tom Berakis

  • Posts: 2
  • Joined: Thu Jul 23, 2015 2:33 pm

Re: scripting

PostThu Jul 23, 2015 2:38 pm

Scripting Language? Not scripting language?

Seriously, what the hell are you on about.

You want to make software sing and dance and do what you want, you can extend it. You dont want to? Forget it, it matters not.

The language is irrelevant. Or may from now on I'll avoid using products made with rosewood, because it's a scripting wood, where mahogany is a real business wood?

Dude, seriously, there are more important differentiations in life.

And while I don't mind robust language discussions... C# is more or less dead. At least in our industry.
Offline

Tom Berakis

  • Posts: 2
  • Joined: Thu Jul 23, 2015 2:33 pm

Re: scripting

PostThu Jul 23, 2015 2:39 pm

Scripting Language? Not scripting language?

Seriously, what the hell are you on about.

You want to make software sing and dance and do what you want, you can extend it. You dont want to? Forget it, it matters not.

The language is irrelevant. Or may from now on I'll avoid using products made with rosewood, because it's a scripting wood, where mahogany is a real business wood?

Dude, seriously, there are more important differentiations in life.

And while I don't mind robust language discussions... C# is more or less dead. At least in our industry.
Offline

Remco johannes

  • Posts: 109
  • Joined: Sun Dec 21, 2014 5:24 pm

Re: scripting

PostTue Jul 28, 2015 9:38 am

Tom I somehow mist your response
Tom Berakis wrote:Scripting Language? Not scripting language?

Seriously, what the hell are you on about.

Relax, just a discussion not a fight

Tom Berakis wrote:You want to make software sing and dance and do what you want, you can extend it. You dont want to? Forget it, it matters not.

To me its matters(i'm a developer)
It's a bit like: SW render vs OGL render, in some scenarios OGL is more suited and vice cersa.
Make sense?

Tom Berakis wrote:The language is irrelevant. Or may from now on I'll avoid using products made with rosewood, because it's a scripting wood, where mahogany is a real business wood?

Rosewood tends to have more overtones , whereas mahogany has a more "fundamental" tone with emphasis on mid-range frequencies, resulting in a more woody tone.
When mahogany is more suited, why not used it? ;)
But seriously. Yes the language is irrelevant, but not the features/properties of such a laugauge, such as static typing, inheritance and tooling for example.

Tom Berakis wrote:Dude, seriously, there are more important differentiations in life.

Agreed

Tom Berakis wrote:And while I don't mind robust language discussions... C# is more or less dead. At least in our industry.

Last time i checked C#, besides c(++) is the language in windows environments.
I took C# as an example, because some of it's properties, not for it's dialect.
What i mean is why not using a language environment such as .net for the more complex algorithms, because (IMHO) scripting is not always the right tool.

I hope i cleared this up, English is not my native language(no pun intended)

Regards,

Remco Johannes van Grevenbroek
Offline

Suchuāto Ritoru

  • Posts: 56
  • Joined: Thu Jan 01, 2015 10:42 pm

Re: scripting

PostWed Jul 29, 2015 6:06 pm

Remco johannes wrote:Tom I somehow mist your response
Tom Berakis wrote:Scripting Language? Not scripting language?

Seriously, what the hell are you on about.

Relax, just a discussion not a fight

Tom Berakis wrote:You want to make software sing and dance and do what you want, you can extend it. You dont want to? Forget it, it matters not.

To me its matters(i'm a developer)
It's a bit like: SW render vs OGL render, in some scenarios OGL is more suited and vice cersa.
Make sense?

Tom Berakis wrote:

The language is irrelevant. Or may from now on I'll avoid using products made with rosewood, because it's a scripting wood, where mahogany is a real business wood?

Rosewood tends to have more overtones , whereas mahogany has a more "fundamental" tone with emphasis on mid-range frequencies, resulting in a more woody tone.
When mahogany is more suited, why not used it? ;)
But seriously. Yes the language is irrelevant, but not the features/properties of such a laugauge, such as static typing, inheritance and tooling for example.

Tom Berakis wrote:Dude, seriously, there are more important differentiations in life.

Agreed

Tom Berakis wrote:And while I don't mind robust language discussions... C# is more or less dead. At least in our industry.

Last time i checked C#, besides c(++) is the language in windows environments.
I took C# as an example, because some of it's properties, not for it's dialect.
What i mean is why not using a language environment such as .net for the more complex algorithms, because (IMHO) scripting is not always the right tool.

I hope i cleared this up, English is not my native language(no pun intended)

Regards,

Remco Johannes van Grevenbroek


What stops you from using the PLUG IN API to write native compiled plug ins? c# is dead. The vfx world is mostly Linux with enough Mac os to make Windows number not enough to deal with c#.
Offline

Jacques Hoepffner

  • Posts: 12
  • Joined: Fri Apr 05, 2013 7:56 am
  • Location: Paris (France)

Re: scripting

PostThu Jul 30, 2015 8:34 am

Hello,
Not taking party in the discussion, but C# is not dead, it's the main programming langage in Unity 3D, actually the first software for 3d games authoring, not a second league player, works on mac and windows.
Just information.
Jacques Hoepffner
Offline
User avatar

Chad Capeland

  • Posts: 3025
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: scripting

PostThu Jul 30, 2015 2:46 pm

Jacques Hoepffner wrote:Hello,
Not taking party in the discussion, but C# is not dead, it's the main programming langage in Unity 3D, actually the first software for 3d games authoring, not a second league player, works on mac and windows.
Just information.
Jacques Hoepffner



Not dead at all, just dead in computer graphics and post production. There's a whole bright and wonderful world out there and C#/.net is doing just fine.
Chad Capeland
Indicated, LLC
www.floweffects.com

Return to Fusion

Who is online

Users browsing this forum: No registered users and 37 guests