Fabric Engine, Softimage and the VFX Industry

March 5, 2014

Hi everyone,

We’ve been mentioned in a few places recently in relation to what has happened to Softimage, and particularly in discussions regarding ‘what now?’. I’m going to try and cover everything that’s come up in various emails and forum threads. If I missed anything, let me know and I’ll do my best to get back to you. You can reach me directly using paul@fabric-engine.com, and I will track responses in the places this is posted.

Before getting into anything else, you need to know that FABRIC IS FREE to individuals. Freelancers, hobbyists, students, professionals – we don’t care. We strongly believe that the way for Fabric to become successful is for people to have easy access to it. We make money from studios adopting the technology, not from people trying to use it.

“What the &^%$ is Fabric Engine?”

Fabric Engine is a platform for building custom tools and applications. It’s designed to be open and extensible. That doesn’t really mean much though, so let me explain a bit about the major components.

Fabric Core – this is a high-performance multi-threading engine. It takes the code you write in KL, and makes sure that it runs as fast as possible on the hardware you’re running it on.

Kernel Language (KL) – this is the high-level language used for writing this code. KL has been designed to be accessible to someone that is most comfortable writing Python code – it behaves as a dynamic language, so you can iterate quickly. However, it is as fast as statically compiled code. Soon we will be able to execute KL on your graphics card, without needing to change a line of code – GPU compute for free, using a language that anyone can learn. You can learn a lot more about the KL language here: http://fabricengine.com/splice/kernel-language-kl/

Extensions – we ship a range of libraries that Fabric can use. Alembic, FBX, Bullet, Open Image IO, hardware devices and so on. We also ship the EDK to make your own extensions, and all the source code to our extensions, and tools to make it as easy possible. This means that you can use these libraries inside of your existing DCCs.

Splice API – this API makes it possible for you to use the Fabric Core and KL within other applications. That might be a commercial DCC  – we currently support Maya, Softimage, Arnold and Nuke (Max and Houdini coming soon) – or it could be a custom framework. This allows you to use Fabric to build tools that are DCC-agnostic – you can easily move them between applications, which can be very powerful. There is a full demo here: https://vimeo.com/76325922

Get Started

So if you’re a Softimage user, this is where I suggest you start – you’ll be working within your familiar application environment, and you’ll get a good sense of what is possible with the Fabric Core:

1) Get Fabric: http://fabricengine.com/get-fabric/

2) Get Splice: http://dist.fabric-engine.com/FabricSplice/1.11.0/

3) Follow the tutorials: http://documentation.fabric-engine.com/Splice/latest/HTML/Workshops/klworkshop.html

Scene Graph – We also have a standalone Python/Qt framework. However – we are currently working on 2.0 of this (due early summer). My recommendation is that you take a look at the version 2.0 outline presentation: https://vimeo.com/84300368 but that you limit your testing to the Fabric in Softimage stuff linked above.

Managed transition – Everything that you do in other applications with Fabric and the Splice API will be portable to the 2.0 scenegraph. This gives you a path to the future without abandoning your current toolset – you might decide to move to Maya down the line, or another application, or to the Fabric standalone framework. It gives you options and most importantly, it allows you a managed transition.

Real-Time Renderer (RTR) – we have a powerful real-time renderer that is targeted at production. It’s written completely in KL, which is testament to the power of the framework – it also means it’s completely open. You must remember that it is a platform for building rendering applications – so far we have customers using Fabric and the RTR for deep image compositing, scene assembly with Arnold integration, animation preview, projection mapping and asset preview. You can see some additional information here: http://fabricengine.com/splice-2/fabric-engine/rendering/

“What does it do out of the box?” – right now, not much. We ship a range of demo applications, but right now if you aren’t comfortable writing python or similar then you’re going to struggle. However, Fabric 2.0 will have much more for you by way of visual programming and ‘instant utility’ tools that you can just use. Over time we will have more and more functionality like this, but we elected to start with the platform capabilities first – it’s taken us a while but it’s starting to pay off. This will change over the next year as we see the community pushing functionality themselves, and hopefully we’ll see a few collaborative projects come to fruition soon. We’re also supporting 3rd party developers like Eric Mootz, so we’re looking forward to seeing more artist-centric tools coming through this year.

“What’s the long term roadmap?” – watch the Fabric 2.0 video (linked above – https://vimeo.com/84300368for an inkling. We are thinking in broad strokes about: scene assembly, rigging and animation, virtual production and visual programming. We see these as areas that are ripe for some innovation and we have a platform that offers all of the building blocks to do this. However – we aren’t beholden to investors or shareholders, so our roadmap sometimes changes according to what our customers are telling us they need.

“Are you in control of the company?” – Yes. We have investors but Phil, Peter and I run the company. Nothing can happen without us agreeing to it.

We can’t do it alone – if you want to see change happen, you have to get involved. Small companies like Fabric need your support, we need you to kick things around and tell us what you think. We need to know what you need. It’s immensely frustrating to be told “this is cool, if only it did X” and then we do X and the response is “now if it did Y then I’d take a look”. Get involved – it’s free!

Let’s get creative – we are open to creating a consortium and finding ways to open-source work done there. Obviously there are hooks into Fabric and the concern will be around vendor dependency – however, a lot of that can be addressed in the design of a particular project. We have done deals that give source code access to customers after a certain number of years, and we will work with studios to give that kind of security. We see this as something where we would not be controlling anything, but working on a partnership basis with the studios that want to do this. It has to be driven by studios that want to see some control over their destiny, with companies like Fabric getting involved to support and drive innovation. We are a platform, so for us this is the way to success – providing high-performance, dependable components that can be used to build production-specific tools, which are best built by you. If you are interested in becoming a part of this working group then please email me (paul@fabric-engine.com) – right now I’m just gauging interest with the hope that we can do something amazing together.

Thanks,

Paul and the Fabric team