Thursday, December 16, 2010

Fusion: all the sourcey details

Perhaps that should be, all the gourcey details.

The following shows some history of Fusion development, from early 1996, through to August 2010, visualised by gource, and spread over 11 minutes. It's hard to pick out any major milestones - or at least any that correlate with release dates - since the majority of development happens long before any particular release. There are some things I can point out though.



The number of tools and UI controls grow during 1996 and 1997, with the first release of Digital Fusion 1.0 for Windows NT late in 1996. July 1997 shows the tree explode with TIFF and JPEG libraries. While Digital Fusion had already been using them, this was when they were first placed under revision control. It also marks when development was first split between Australia, where all previous development had taken place, and Canada.

1998 shows an explosion of file format support, including QuickTime and OMF support, hardware support, Bins, a Render Manager, and the first version of Paint.

2000 shows the initial development of Particles and Text+, and in there somewhere is the beginnings of the non-grid flow view.

2002 shows DFScript becoming a real product, as part of Digital Fusion 4, along with some reference documentation for it. In there somewhere is the very beginnings of 3D too.

In 2004, there are some wide reaching changes, for Fusion 5 development, to do with transitioning from a binary flow to an ASCII comp format, and changing the plugin SDK from using 32-bit IDs extensively, to using string IDs. The 3D system is starting to mature. Text+ moves from Windows font system, to using freetype for font parsing, with custom character rendering.

By 2005, the basis of 3D has settled, FBX support is added, and development is continued through to the release of Fusion 5 later in the year.

Significant enhancements are made to 3D for 2006, and quite a lot of changes made to get Fusion working on Linux. Not seen here is all the wine updates, and custom wine development. A more advanced materials system based on Cg shaders begins here.

Script plugins, or fuses are introduced in 2008, while the new Cg based 3D material system grows...

2009 sees DoD/RoI and the 3D material system released in Fusion 6.0.

So that's 14.5 years of Fusion development in a nutshell.

Friday, November 19, 2010

Heads up (Updated: Almost here!)

New build of Fusion is coming. Fair number of bugfixes in it.

Updated (16th Dec): Coming real soon now! There's a lot of bugfixes, but there's a few new features as well:
  • Fullscreen DirectX viewer (supports 3D Vision stereo, no Quadro needed!)
  • View mirroring (copies the main display view to an external view, like the new DX view)
  • Pick channels directly from 3D view (includes color, position, Z, UV, and rotation from normals)
  • Disk caching on mask tools
  • Huge 10x speed improvement in the Probe tool! :-)
  • Double-precision support in OpenCL
  • Improvements to polyline rendering, point cut/paste etc
  • and more...

Friday, September 3, 2010

3D Stereo with a 2D tool

Here's a quick trick: you don't need Fusion's 3D engine to get stereo 3D. You can manage it with an instanced pair of 2D tools - so long as they do 3D rotation :-) All you need to do is produce two slightly-different viewpoints, and combine them. It can be faster to render, too.

Thursday, July 29, 2010

OpenCL fuse manual

Hm, been a while since the last post, hasn't it? Fate of most blogs I guess. Not entirely uneventful, what with Fusion 6.1 being released & all. Now that that's out of the way, I can divert a little mental energy elsewhere.

This is just a heads-up that I've posted an updated OpenCL fuse reference manual over on VFXpedia, so you've officially run out of excuses (except for the guy over there with last year's ATi card, you're off the hook). There are some example OpenCL fuses included with Fusion 6.1, and a quick walkthrough (could use a little revising) also on VFXpedia. I'm curious to see what people come up with, now that fuses can be even faster than built-in tools!

Next up, I'll show you how to do stereo 3D titles - without using the 3D engine (cue audience gasps). Also, should I be announcing things like the Build 667 point release here too, in case someone actually notices it here first? Anyone? Bueller? <FX: crickets>

Monday, May 3, 2010

Die 24fps, die!

No, that's not German, I'm just tired of the fascination the industry has with 1920s technology. What is it about blurry, shuddering cinema that's so consistently attractive?

Wednesday, April 7, 2010

Teasers

I was going to throw up a few artfully-revealing screenshots of Fusion 6.1, to give people something to talk about, but now it looks like I won't have to. With NAB fast approaching, Marketing is going to take all the fun out of things, real soon now it seems.

Thursday, April 1, 2010

Stereoscopic developments

So, we've been watching the enthusiasm Hollywood has with stereoscopic video, and pondering ways to take it further. We think we've hit upon a big one: stereoscopic audio.

Adapting existing visual stereoscopy techniques has proved quite fruitful, and neatly avoids the extra expense and inconvenience of requiring more than one speaker. Here are a few approaches we've experimented with:

Monday, March 29, 2010

Grain's Anatomy

Film grain has complex characteristics, both in spatial structure and in value/intensity. Many understand the basic principle behind how film works (in simple terms, light sensitive crystals - or grains - causing variations in density depending on the amount of exposure to light), and therefore why grain exists and why it tends to have the shape it does (lots of overlapping crystals/grains). What isn't immediately obvious to many is how the intensity of the grain is influenced by the nature of film.

Monday, March 22, 2010

A lot of guys ignore the laugh

And that's about standards.

I mean, if youre gonna get into the Evil League of Evil, you have to have a memorable laugh.

Thursday, March 18, 2010

Loading a clipboard bitmap into Fusion

Just a quicky, since it's something I've often wanted, and the subject came up on fusion-l recently - a console util to copy a bitmap on the system clipboard to a file, and a simple fuse to load it back into Fusion.

Download here.

Wednesday, March 17, 2010

Easier 3D LUTs

I got some feedback from the boss about creating 3D LUTs, as described earlier: "too many steps". So I wrote a script to help out, and in a burst of imagination I called it "Create3DLUT". Thanks to the magic of automation, you can now create your 3D LUTs more easily:
  • Set up a chain of colour correction tools on the flow.
  • Select them all, and run the Create3DLUT script from the comp's Scripts menu.

Thursday, March 11, 2010

Visualising filter kernel shapes

Here's a simple way you can visualise the shape of any convolution filter, such as a blur or defocus. Easy in Fusion, but the same approach works with most image processing apps.
  • In a new comp, start with a black background, about 64 x 64 is fine, and make it float32.
  • Add a single white pixel in the middle of it (I used Paint with the pixel brush).
  • Now add a tool that does filtering, such as Blur.
  • Normalise the image (in Fusion you can use the AutoGain tool, or just click the Show Normalised Image button on the image view toolbar, at the right).

Thursday, March 4, 2010

Creating 3D LUTs

As of, erm, 5.2? Fusion has supported 3D LUTs, in the image view and on the flow, natively (I think Rising Sun had a plugin for that before then). These go beyond ordinary (1D) LUTs and allow you to do more than simply adjust colour intensities, but to map colours to completely different colours, like making the image sepia, or changing all the chartreuse pixels in your image to a sort of pinky-russet.

In fact, pretty much any non-spatial colour correction can be done with a single 3D LUT, limited only by the range and accuracy of the LUT. They're fast too, at least when accelerated by modern GPU hardware. The catch; you had to find your own 3D LUT files, somewhere.

No seriously

This is the site where we talk a bit informally about Fusion from a developer's perspective. Maybe we'd like to point out something shiny in a recent release, maybe we'd like to clarify how something works internally, maybe we just feel like having a chat.

Though I have to say, anything we might accidentally let slip about potential new features should be taken with the traditional salt mine. Consider them unconfirmed rumours, even from us, because often we work on bits and pieces that don't make it into anything released (for any number of reasons). So don't go getting all excited, coz you'll probably just end up disappointed and resentful. We're just floating ideas, getting feedback, OK? No commitment implied.

So, anyway, on with the show, s'pose I better put up a post about something.

Obligatory Welcome

First post!