Sapphire Plug-ins for OFX

Sapphire Plug-ins for OFX, General User Info

What's New In This Version

New Effects:

  • S_VignetteMocha creates a vignette using a Mocha-tracked mask as the shape of the vignette. All the options of regular Vignette are available.

New Features:

  • Mocha tracking and masking is added to most effects.
    • Exceptions: Transitions, Z effects, Retime, RackDfComp, RepairFrames
  • Many more effects have mask inputs now (over 80 more). Almost all the ones that didn't before, where it makes sense. Some examples: Aurora, Cartoon, Clouds, DigitalDamage, and Layer.
  • S_Grunge now has a Crop Grunge to Mask parameter.
  • Glint, GlintRainbow and Glare can now select luma, color or alpha for the mask using new Mask Type parameter.
  • S_Swish3D's default wrap behavior has been changed to Repeat.
  • Loading a single-effect preset into Builder or S_Effect will now automatically connect the Mask node to the Mask input of the effect node.

New in 11.01:

  1. Fixed a bug that changed the rendered output of all Glows (e.g. S_Glow, S_GlowEdges, etc.) and Sparkles (both S_Sparkles and S_SparklesColor) between v10 and v11.0 if the user provided a color mask. These effects are now compatible with v10's output but the output will change relative to v11.0! To get the output from v11.0 back, apply S_Monochrome to the mask before passing it to the effect.
    • Note: This also affects any S_Effect presets made with v11.0 using Glows or Sparkles. Please check your presets for Glows or Sparkles and update with S_Monochrome if needed for the desired behavior.
  2. VignetteMocha mode of S_Vignette now starts with an empty Mocha project. In this case VignetteMocha will use a circular mask until a Mocha Mask is set. This circular mask will not show up in the Mocha UI.
  3. Mocha help link now points to Sapphire Mocha help instead of BCC Mocha help.
  4. Mocha now remembers the previous Open Project and Export Project locations.
  5. Mocha in Sapphire and Mocha in BCC now save preferences and settings separately.
  6. Mocha now tries harder to display frame numbers matching the host timeline.
  7. Updated list of known issues (below).
  8. Minor preset improvements.

Loading a Plug-in

When Sapphire Plug-ins have been installed and the host application has been restarted, the new plug-ins should appear in the host application's effects menus just like any other effects.

On Nuke: click on the GenArts Sapphire icon in the toolbar on the left-hand side of the screen. Select the desired Sapphire effects category, and click on an effect to add it to your project. Alternatively, you can right-click anywhere the Node Graph window and go to Sapphire -> Sapphire Category Name -> Effect Name in the context menu.

On Fusion: in the Tools menu, select Sapphire and the desired Sapphire effects category, then click on an effect to add it to your Composition. Alternatively, you can right-click directly in the Comp Window and select Add Tool -> Sapphire -> Sapphire Category Name -> Effect Name.

On Baselight: using the Insert Menu, select the OFX Filter menu and select the desired Sapphire effects category. Then click on an effect to apply it to the currently selected clip. Instead of using the OFX Filter menu, you can alternatively use the OFX Transition menu to select amongst only transitions, or the OFX Source menu to select just generators.

Browsing and Selecting Presets

You can load and save presets for effects using the Load Preset and Save Preset buttons near the top of the effect control window in all Sapphire effects.


In the preset browser you'll see all the presets available for the current plug-in, both GenArts-supplied presets and the ones you've created yourself. You can filter by tags on the left side to quickly find the look you're interested in.

The main top window shows the preset on your footage (unless the plug-in can't access the AE layer for some reason, in which case you'll see a poster frame) and various information about the preset.

At the bottom you see all the presets; you can enlarge or shrink them with the slider at the bottom. You can also switch to a table view there, as well as viewing the preset on your source, over black, or over the sample footage. You can also see the source all by itself for comparison.


Clicking Save Preset brings up the Save Preset dialog. Here you can name the preset, and add various other information. Particularly important is the tagging system; you can apply as many tags as you want to your presets. You can even create new tags. Tags are grouped into categories, so all the color names appear under Colors, for instance.

You can create new categories as well, by typing into the Category drop-down menu after clicking Add New Tag.... GenArts recommends sticking to the shipped categories when possible, for compatibility. But adding your own tags within categories (new color names, for example) is encouraged.

More Info:

While the preset browser, save dialog, or flare designer are open, the main AE window will be unresponsive. This is normal. Close the preset browser or flare designer and AE will wake up again.

Certain parameters, like Lens Flare hotspot, are not saved in presets; we thought it would be less than useful for the flares to jump around as you load presets.

It may take a few seconds to load the preset browser if a plug-in has many presets. Be patient.

Editing and Designing Lens Flares and other elements

Clicking Edit Lens in LensFlare, or Edit Style in Glare or Flashbulbs, opens up the Lens Flare Designer.

The Flare Designer lets you completely customize a lens flare. You can add or remove elements, copy them, customize how each element looks, and even how it reacts to the center or edge of the image. You can also interactively move the flare around to see how it will look as it moves.

All the panels of the Flare Designer are movable, so you can adjust the user interface itself to suit your work flow. The main panels are the view window, where you see the flare you're working on, the Elements panel which lists all the elements of the flare, and the Properties panel, which lets you adjust the properties of the currently selected element (or elements). There's also a toolbar of element templates at the top.

View Panel

The main view window is where you see how your flare will look; you can click and drag to move the flare around. You can see it over the background or just over black, adjust the gamma, and Solo only the selected elements. Use Plug-in Settings makes the flare designer import the plug-in settings currently active in the host app. If you have that selected, the flare will look the same back in the host app when you're done designing it. On the other hand, if you want to create a "reusable" flare preset, it's probably a good idea to un-check Use Plug-in Settings so the flare will look good with default settings in the plug-in.

Elements Panel

The Elements panel shows you all the elements, with thumbnails. If you mouse over them, an overlay shows where they are in the main view window. When you click on an element to select it, it also flashes brighter in the main window to help you find the element you're looking for. Clicking Identify in the Properties panel does the same flashing.

To add new elements, just click the element template picture in the top toolbar. You can then rename the element, move it in the list by dragging and dropping, or hide it by un-checking the checkbox.

To delete an elements, select it and click the trash can icon at the bottom of the Elements panel, or click Delete. There is full undo, so feel free to experiment!

You can also duplicate an element using standard copy/paste operations, or select it and click the two pages icon at the bottom of the Elements panel. You can then adjust the copy's parameters in the Parameters panel.

The gear-looking element is the "advanced element" type; it has lots of controls and is very customizable, but it's recommended for advanced users only. The other types get you most of the same looks with simpler parameters.

Along with all the standard element types, you can import your own images to use as elements. Click the picture frame to import an image file. The image data will become part of the flare, so it doesn't need to keep a reference to the original file.

To combine two flares into one, or add many elements at once, you can import another flare into your current flare; this will add all the other flare's elements to your current flare. You can also just open that flare, which replaces your current flare with that one. To import and add to your flare, use Insert Flare (down-right pointing arrow in the toolbar), or File... Insert Flare. To import and replace, use Open Flare (folder icon in the toolbar), or use File... Open Flare.

Parameters Panel

The Parameters panel is where you adjust all the details of a single element -- or multiple elements together, if you select multiple elements in the Elements panel. (Use Shift-click or Control-click to select multiple elements.)

There are a few common control types. Sliders with numbers to the left control numeric params; you can drag the slider thumb, but you can also drag in the number text field to increase or decrease the value. You can also click in the number field and type any value you want.

Color controls are just a swatch of color; click to bring up a standard color picker.

Some elements have a Gradient; there's a special gradient control to adjust those. The stops are below the color swatch; you can drag them left and right to move them. Drag down to delete. Click in the color gradient to add a stop there. Control-drag to "stretch" neighboring colors, and shift-drag to push neighboring colors. The triangles above the color gradient allow you to control the interpolation of the colors between stops. Ring Thickness lets you easily turn a spot or fan of rays into a ring; turning Ring Thickness down from 1 hollows out the center. This lets you still have fine control of the colors within the ring, even if it's very thin.

Different element types will have various parameters you can adjust, but here are some common ones:

Where the element occurs, along the line between the hotspot and pivot point. Position 1.0 is at the hotspot, 0.0 is at the pivot. Note that you don't have to stay in that range; you can use any value you like. Bigger than 1 will be past the hotspot, and less than zero will look like a reflection because it's on the other side of the pivot point.
How big the image is.
Rel Width, Rel Height
Use these to squash and stretch.
Rotates the element around, in degrees.
There's a Reset button at the bottom of the Parameters panel to reset the current element(s) to all default settings. That's undoable too.

More Information

If you open the flare designer from the plug-in, you can just click OK to close the window when you're done; your current flare will be used in your project and saved with it. But you can do more than that; you can save the flare definition to disk separately, so you can recall it later, or use it in other flares. You can also open the flare designer directly from the Start menu or Applications folder to create flares independent of your host product. In this case, use File...Save Lens As... to save the flare definition. That dialog will allow you to name the lens and tag it so it's easy to find later.

Note that saving a lens this way does not save your plug-in settings; it only saves the lens flare definition itself (the things you can change in the flare designer). You can save a preset in the host application to save everything -- the flare and all the regular plug-in parameters.

While the preset browser, save dialog, or flare designer are open, the main AE window will be unresponsive. This is normal. Close the preset browser or flare designer and AE will wake up again.

Using Mocha in Sapphire

What is Mocha?

Mocha is a planar tracking and masking utility that can save time on the most difficult motion tracking and masking shots. It tracks the entire area of the mask, not just individual points, to significantly reduce the tedium of manual keyframing.

Mocha looks for 3-d planes in the image: pixels that move together. Screens and signs are clear candidates, but Mocha can also track faces. It can handle objects obscured by foreground elements, and can track unlimited layers all at once.

There's a lot more to Mocha than we can explain here; there are plenty of tutorials online at

In Sapphire, Mocha works as a mask for the effect, similarly to the mask input, but with all the tracking features of Mocha. For instance, in S_DistortRGB, the mask affects the amount of RGB distortion. In S_Glow, the mask masks out the areas you want to emit glowing light, without chopping off the smooth edges of the glow.

How to use it

  1. Apply a Sapphire effect
  2. Most Sapphire effects now feature Mocha planar tracking integrated within the effect. Certain effects were omitted because utilizing a mask made no logical sense; for example, none of the S_Transition effects incorporate S_Mocha, and the Z_effects which require a Z_depth matte to work were also skipped.

  3. Click Edit Mocha to launch Mocha
  4. When you click the Edit Mocha button, you will launch the Mocha UI, which will allow you to create and track a mask for use back with the selected Sapphire effect in your host application.

  5. Create a spline
  6. You can create a shape to track within Mocha utilizing either an X-spline or Bezier splines. X-splines are recommended for most uses.

    Draw one or more splines around the planar areas you would like to track.

  7. Track it
  8. You can use backwards and forward tracking from whatever frame you're parked on. You can often get a great result with default settings, but if you're getting a lot of drifts, try increasing the Min K Pixels Used .

  9. Save and exit back to host
  10. For your mask to appear back in your host application, YOU MUST SAVE AND EXIT. If you exit without saving, all you current work will be lost. Always save and exit!

  11. Adjust in Sapphire
  12. You can make additional fine tuning adjustments after tracking in Mocha by opening the "Mocha" pulldown in your selected Sapphire effect. Additional softness and position/scale paramters can be found here, as well as checkboxes for soloing/hiding/inverting the Mocha mask.

  13. Moving masks between effects
  14. Sometimes you track a shot with Mocha in one Sapphire effect and would like to reuse the track in a different effect. The simplest way is to export it from the first effect and re-import into the second effect.

    1. go into Mocha with Edit Mocha , then File > Export to export the Mocha project to a file.
    2. Exit Mocha and delete the old effect.
    3. Apply the new effect, Edit Mocha , and File > Merge the project from the file you saved.

    Alternatively, if you want to share a Mocha mask with several effects, track the mask in a simple Sapphire effect such as S_HueSatBright. In there, select Show Mocha Only . Then use that as the Mask input to the effects where you want the mask used. (Exactly how to do this varies with host app.) Since the Mocha mask acts just like a regular mask input, this will allow you to update the mask once and all the other effects will use it.

Resetting Parameters to Defaults

Host products should provide a way to reset all of a plug-in's parameters to their default values by clicking on a Reset button or selecting Reset from a context menu.

On Nuke: right-click on the properties panel and in the Context menu select Reset Knobs to Default. You can also choose Revert Knobs, which will undo all changes since you opened the properties panel.

On Toxik: press the Reset button on the right side of the parameters window.

On Fusion: right-click on the effect icon in the Comp, and choose Settings -> Load Default.

On Baselight: in the Edit menu, click on Reset Parameters.

On Film Master: press the Reset Effect button (which looks like a circle with a red dot in the center and a small white left-pointing triangle on the right).

On Scratch: press the Reset button located on the right side of the screen under the bin. To reset an individual parameter, click on that parameter's value/slider and in the resulting dialog, click on the "R" button.

Online Documentation

In OFX, all Sapphire Plug-ins include an Help button at the bottom of the plug-in parameters. Push this button to bring up a window showing the current version of Sapphire Plug-ins, your license status, some documentation about the current plug-in, and links to more detailed HTML documentation.

Online documentation is normally installed along with your software and can also be accessed directly.
On Windows: go to Start -> All Programs -> GenArts Sapphire OFX -> Online Help (HTML) or (PDF).
On Mac: go to the Applications/GenArtsSapphireOFX folder and double click on Online Help.html or .pdf.
On Linux: go to the RedHat Applications menu and select GenArts Sapphire OFX -> Sapphire Online Help (HTML) or (PDF).

GPU Acceleration

Many effects can use the GPU to speed up rendering. This requires an NVIDIA graphics card which supports CUDA, such as a GeForce 280 or 285, or Quadro FX 5600 or 5800. If a suitable GPU is found, a GPU Enable button will appear in the Help dialog. GPU acceleration is enabled by default if it's available, but if you experience performance or stability problems, you can turn it off by deselecting the GPU Enable button.

If a plug-in is unable to render on the GPU, it will automatically fall back to the CPU and continue processing. The GPU status, including the type of error, is displayed in the Help dialog.

On machines with more than one GPU that supports CUDA, you can select which GPU Sapphire Plug-ins will use by changing the value of use_gpu in the s_config.text file.

About Motion Blur

Many Sapphire Plug-ins can simulate motion blur by rendering the effect at multiple times and averaging the results together. Motion blur is controlled by three parameters:

  • Enable Motion Blur turns motion blur on or off.
  • Shutter Angle controls the amount of time that the simulated shutter is open, and thus the overall amount of motion blur. The default value of 180 degrees will blur over an interval of half a frame, which is a common setting for real cameras. A value of 360 degrees will blur over an entire frame, which is the maximum amount of motion blur possible with a real camera. Values above 360 degrees will produce unrealistic results in which the motion of adjacent frames overlaps.
  • Samples controls the number of individual renders that are averaged together. Increasing the number of samples will give smoother results, but will also increase render times. If too few samples are used, there can be visible aliasing or ghosting artifacts. Faster motion will require more samples to avoid artifacts.

About Mask Inputs

Many Sapphire Plug-ins accept an optional Mask input clip. Typically, this input can be used to provide more detailed control for where the effect should be applied and where it should not be applied.

Glint , Glow , Glare , and Rays , for example, take the main Source input and also an optional Mask input. For these, the source input is multiplied by the mask before generating the glints (or glows, glares), so where the mask is black no glints are generated, and where it is white they are generated as usual. This method prevents the glints or glows themselves from being partially cropped by the mask. In addition these effects use the RGB colors of the Mask input to selectively colorize the resulting glows, glints, or glares. The red areas of the mask will produce red glows, glints, or glares, and so on.

In Blur effects, the areas which are masked out are never blurred, so they do not blur into the masked-in regions. If a mask were instead applied afterward, the pixels behind the mask would be blurred over the edge of the mask and into the final image. As an example, say you have a clip with white text over a black background. If you put that clip into both the Source and Mask inputs of Blur, the black background will not be blurred into the text, since the black pixels are all masked out.

Some OFX host products, such as Toxik and Fusion, have their own native masking inputs on every effect. These inputs simply composite the original source over the normal result where the mask is black. The plug-in doesn't use that input in its processing.

In Fusion, the native masking input is called Effect Mask and it's blue to distinguish it from the Sapphire Mask input, which is white. In Toxik, the native Masking input is always last and is colored black, whereas the Sapphire Mask input is gray like other inputs.

About Alpha Channel Processing

All Sapphire Plug-ins can handle RGBA inputs, and the Alpha of RGBA inputs is handled in one of three ways, depending on the effect:

  1. Alpha is processed as just another input channel like R, G, and B. Effects in this category include: AutoPaint, Mosaic, Blur, BlurMotion, RackDefocus, all Wipes, all Dissolves, Distort, DistortBlur, DistortChroma, all Kaleidoscopes, all Warps, Shake, and MathOps.

  2. Alpha is copied from the first input to the output. In this case the effect doesn't use the Alpha channel, but it is passed through unchanged from the first input to the output. Effects in this category include: BandPass, BlurChroma, ClampChroma, DuoTone, EdgeDetect, Embosses, Etching, HalfTones, Hotspots, DistortRGB, Monochrome, Pseudo_Color, Psykos, Sharpen, Sketch, Sparkles, Streaks, Threshold, and Zebrafy.

  3. Some other effects pass the input Alpha channel through, and also add some opacity where the effects are applied. An Affect Alpha parameter is included in these effects which allows adjusting the amount that the alpha channel is affected. The effects in this category are: LensFlare, all Glows, all Glints, Glare, EdgeRays, Rays, and all Zaps.

Some OFX host products, such as Nuke and Fusion, represent RGBA images in pre-multiplied format, where the RGB are assumed to be scaled by the opacity. Other hosts such as Toxik, Baselight, and Film Master represent RGBA in non-premultiplied or straight format. Sapphire effects use pre-multiplied format internally, and will automatically convert as needed depending on the host product's format. The Affect Alpha parameter which is available in most lighting effects tends to be less necessary in hosts that use pre-multiplied RGBA format, and it defaults to 0.0 for these hosts, but defaults to 1.0 for hosts that use straight RGBA format.

About Pixel Aspect Ratios

For some image formats, the digital form of the image is scaled non-uniformly to produce the final viewed picture. For example NTSC resolution is normally 720x486 with an aspect ratio of 1.481. However, the final NTSC picture has an aspect ratio of 4/3 or 1.333. Thus the original digital image is scaled in the horizontal direction by a factor of 0.9 and shapes rendered as circles can end up squashed slightly into ovals. The original pixels are effectively rectangular shaped instead of squares, and have an aspect ratio of 1.481/1.333 = 1.111. (Or 1.333/1.481 = 0.9 if the inverse ratio is used.)

OFX allows you to adjust the pixel aspect ratio in the Composition Settings menu, and Sapphire Plug-ins read this value to give the appropriately scaled results.

If necessary, you can override the pixel aspect ratio for all Sapphire Plug-ins by changing the value of force_pixel_aspect_ratio in the s_config.text file.

The pixel aspect ratio makes no difference for basic pixel processing effects such as color processing or compositing.

Customizing Plug-ins

A number of parameters are available that can be adjusted to customize the behavior of all Sapphire plug-ins. You can disable multi-processing, force the pixel aspect ratio, or specify lookup tables for more accurate processing of log format images. A facility is also included with Sapphire Plug-ins that allows users with some programming experience to define and customize new plug-ins. For additional information on these, or to modify a parameter, see the s_config.text file.

On Mac the config file is: /Applications/GenArtsSapphireOFX/config/s_config.text
On Windows the config file is: C:\Program Files\GenArts\SapphireOFX\s_config.text .
On Linux the config file is: /usr/genarts/SapphireOFX/s_config.text .

Custom Lens Flare types can also be made by editing the s_lensflares.text file, in the same directory as the config file above. New flare types will automatically appear in the menu of the S_LensFlare plug-in.

Known Problems

  1. Resolve: Several effects don't blur correctly in Resolve. We've identified the issue and are working with Blackmagic to fix the problem. The list of effects and parameters with this issue are:
    • Motion Blur in FilmRoll
    • Motion Blur in StripSlideTranition
    • Blur Amount in SwishPan
    • Motion Blur in Swish3d
    • Blur as a result of Z-Dist, Shift, or Rotate in BlurMotionCurves
  2. Trimming clips from the head may invalidate the Mocha track.
  3. Any S_Effect saved with an earlier version containing WarpDrops will render incorrectly after installing Sapphire 11. The effect can be fixed by clicking "Edit Effect" to open Builder, and then clicking "OK" to update the effect to Sapphire 11.
  4. Mocha tracking in Resolve is only supported in Resolve 14 Studio and Resolve 12.5 Studio, not the free versions.
  5. Nuke: Mocha mask creation on effects connected to generators (color wheel, checkerboard etc.) only works if you move the playhead to the end of the generator clip.
  6. Vegas Studio Pro: Mocha mask creation in an effect applied as "Insert generated media" works, but frame numbers look too large in Mocha. However when exiting Mocha, the animated mask has the proper speed and duration.
  7. Vegas Studio Pro: Mocha UI will always start at the beginning of the clip, regardless of where the playhead is in the host.
  8. Silhouette: Mocha tracking is not supported
  9. In LensFlareAutoTrack the hotspot may move around if the resolution changes and the hotspot_shift parameter is set to any value other than zero. If using the hotspot_shift parameter always work in full resolution.
  10. Baselight: Mocha tracking will appear to work in the UI, but rendering will fail.
To Sapphire Plug-ins Introduction


Join our email newsletter and keep up to date