Sapphire Plug-ins for OFX

Sapphire Plug-ins for OFX, General User Info



What's New In This Version

New Effect:

  • VHSDamage
  • DissolveLightLeak

New Features:

  • User Interface updates to the Preset Browser, Effect Builder, and Flare Designer
  • PixelSort: Added two new parameters. Downsample turns the new setting on and sort-resolution controls the height of the sorted lines
  • TVDamage: Added a downsample parameter that controls if the effect simulates rendering at a lower resolution
  • TVDamage: Now runs on the GPU
  • New LensFlares

Consistent Rendering Across Hosts:

Sapphire 2025 has implemented foundational changes to ensure that all Sapphire effects render identically across different host applications. This improvement allows creators to achieve consistent results no matter which host Sapphire is used in.

While these changes may result in very subtle differences in specific effect parameters when opening projects created in earlier versions of Sapphire, Sapphire has minimized these differences as much as possible. Any visual differences should be minor, and when possible, Sapphire has added new parameters that can be used to match previous versions if necessary. These Sapphire 2025 updates are essential for supporting unified rendering standards across all hosts, improving cross-platform reliability and visual consistency for the foreseeable future.

Below is a summary of the main adjustments to help you manage any impact on your projects:

OFX Hosts (Davinci Resolve, Autodesk Flame, The Foundry Nuke, VEGAS Pro, Boris FX Silhouette):

Visual Render Changes in Sapphire 2025: A few effects have slight visual modifications to maintain consistency across hosts:

  • LensFlare: Minor changes
  • LightLeaks: Minor changes in the noise patterns

Avid Media Composer, Adobe After Effects, and Adobe Premiere Pro:

  • Flipped Effects: Some effects are flipped compared to Sapphire 2024.5. Each of the following effects has a new parameter that can be toggled to restore the previous look:
    • DissolveFlashBulb, FlashBulb: Flip vertically
    • JPEGDamage: Flip noise vertically
    • Grunge, FilmDamage, FilmRoll: Flip stamps vertically
    • Glint, GlintRainbow, Sparkles, SparklesColor: Swap diagonals
    • ParallaxStrips, ParallaxStripsTransition: Flip tiles
    • MuzzleFlash (Photoshop only): Flip angle vertically
  • Visual Render Changes in Sapphire 2025: A few effects have slight visual modifications to maintain consistency across hosts:
    • Noise Patterns: Slight changes in noise patterns from Sapphire 2024.5 to 2025.
    • Textures: Approximate shift of 1-2 pixels in some textures.
    • RomanTile: Grout pattern has changed.
    • Brush: Strokes have changed.
    • ZapTo & ZapFrom: Minor changes in lightning branches.
    • Aurora: Minor noise pattern adjustments in the Aurora effect.
    • TextureNoisePaint: Minor changes in paint patterns.
    • Scanlines / ScanlinesMono: Minor shift adjustments; these can be corrected using the "line-shift" parameter.
    • TVDamage: Minor shift in scanlines; color bars have slightly shifted- use the "color-angle" parameter and set it to 180 to restore the previous look.
    • TVDamage: dot_speed_y goes in the opposite direction. To update this, flip the parameter.

These improvements unify the rendering experience across hosts, ensuring Sapphire performs consistently in every environment. We're committed to delivering high-quality, reliable effects, and we appreciate your understanding as we continue to enhance compatibility across platforms. If these changes in Sapphire 2025 rendering cause any issues when updating older projects, please reach out to Boris FX support, and we'll do our best to assist you.

Known Issues:

  • Loading projects from Sapphire 2022 or older: If you get an error similar to "Node _one_minus(#) Prim: one_minus has an invalid combo of arg types" from S_Effect or S_Transition, you need to click "Edit Effect" in your effect parameters and then click "OK" to re-save the S_Effect to the host.
  • Linux: Sapphire requires libGLU for the Flare Designer, Preset Browser, and Effect Designer to work correctly on Linux. If this is not installed already, it can be installed with the following command: sudo yum install mesa-libGLU.
  • Resolve: PrismLens may render sharp edges in the Color tab when previewing the shape mask.
  • PrismLens: May be slow in Flame.
  • Not all S_UltraZap presets are visible in S_Effect
  • Resolve: Aurora when used in the Color panel alone in Resolve on MacOS on Monterey with multiple GPUs, it sometimes crashes. It doesn't crash if a ChannelSwitcher node is added upstream. Alternatively, host_gpu_integration can be turned off in s_config.
  • Vegas: S_EFfect and S_Transition presets are not loading correctly.
  • Resolve: The first time Sapphire is used after it's been installed, no Sapphire related dialogs will pop up. This includes the Help Dialog, the Preset Browser, and the ColorFuse LUT chooser. If Resolve is relaunched, the dialogs all work as normal.
  • UltraZapMocha: Sometimes, a straight line will apear in the zap. To fix this, add an additional control point in mocha in the part of the mocha spline that corresponds to that straight segment. Adjust the control point until the straight line segment goes away.
  • Sometimes Mocha tracks slowly. If this happens, close mocha, re-open mocha, then play through the clip inside mocha. After the clip is cached in mocha, tracking will proceed smoothly. Sometimes if the clip is tracking slowly an "unable to track" error will also pop up.
  • If Sapphire 2021.5 OFX is installed at the same time as 2021.0 (either AE or AVX), lensflare presets may not show up inside 2021.0. To fix this, all Sapphire plugins installed on a single machine should be 2021.5. If the second installation of Sapphire cannot be upgraded to 2021.5, the Sapphire 2021.0 plugins may be re-installed to restore the 2021.0 compatible LensFlare presets.
  • Mac OS, Big Sur: if you open mocha and then open the preset browser, the preset browser will fail and generate an error. If this happens, the host will have to be restarted to fix the preset browser.
  • UltraZap: On an open spline zap may do unexpected things when mixing vary-endpoint and looping parameters.
  • S_ZComp: The preset browser can't open unless an input is connected to the DepthB input.
  • Deinterlace Auto fails to find a pattern on many clips.
  • Mocha: The Mocha UI does not correctly locate the default OCIO config file shipped with Sapphire. To use the default OCIO config file shipped with Sapphire, use the OCIO environment variable to locate said the config file.
  • Resolve: Point widgets may respond slowly in Resolve after a Mocha point track has been created.
  • Baselight: Sapphire 2022 does not work with Baselight on Centos 6.4.
  • Vegas: Vegas will take a long time to start up the first time after installing Sapphire as Vegas generates a plugin cache. Subsequent launches will be faster.
  • PixelMosh and DissolvePixelMosh: These are random by design. As such, please be aware that slight pixel differences between CPU and GPU renders may be noticeable. For the best results when applying S_PixelMosh to clips, please utilize a professional codec and file format, such as a ProRes QuickTime movie, as opposed to a web video codec that employs inter-frame compression, such as H.264 in an MP4 file format.



Compatibility Notes:

  • 2025 Introduced improved stability and compatibility between hosts and presets. As a result some LensFlares have changed slightly to be more consistent with the original design.
  • Improved Feedbacks: Feedbacks in Sapphire 2024 have been revamped to work better when frames are rendered out of order. This means that frames can be rendered in any order both in the timeline and when rendered to disk. It also means that the feedbacks may look slightly different compared to prior versions of Sapphire. The differences should be minimal, but are most noticable when using a mask. The mask is now only from the current frame. The full list of effects changed by this feature is:
    • S_Feedback
    • S_FeedbackBubble
    • S_FeedbackDistort
    • S_Trails
    • S_TrailsDiffuse
    • S_TimeAverage
    • NearestColor
  • Sapphire 2022 has been updated to use CUDA 11 in order to support NVIDIA's latest Ampere cards. (RTX A4000, A5000, and A6000). As a result some cards from 2012 are no longer supported. Sapphire 2022 works with CUDA compute capability 3.5 and higher.
  • LensFlare: A bug was fixed in Sapphire 2022 in LensFlare, where the saturation parameter inside the plugin didn't apply correctly to all elements. Fixing this means that some elements will look different in 2022 if saturation is set to a value different than 1.0.
  • In v2019, LensFlares using MutliSpot and MultiStreak elements would look different inside the Flare Designer across operating systems. In v2019.5 this was fixed, but as a result LensFlares may look different from v2019 when loaded through the Flare Designer. Old projects will continue to look the same as they did in v2019 when loaded into the host or rendered, but may look different after loading in the Flare Designer.

Color Management with OpenColorIO

OpenColorIO (OCIO), is the open-source color management solution from Sony Picture Imageworks, Sapphire 2020 can apply and read a color profile to provide consistent colors across internal applications, such as the Preset Browser, Flare Designer, and Effect and Transition Builder. The Flare Designer and Builder applications now feature an OCIO panel to confidently manage the color output to any monitor. Also, Sapphire 2020 features a new effect called S_OCIOTransform, which allows Sapphire to apply an OCIO transform inside of any application, bringing OCIO Color Management to many applications that have yet to adopt the OCIO standard.

All OpenColorIO information below applies both to Color Management within the Sapphire Preset Browser, Sapphire Effect and Transition Builder, and Sapphire Flare Designer as well as to the new OCIOTransform effect in Sapphire 2020.

To use OpenColorIO in Sapphire, there are three ways to specify the OpenColorIO configuration file.

  • By default, Sapphire will use the config.ocio file found in Sapphire's installation directory.
  • To set OCIO system wide, set the OCIO environment variable to point to the desired config.ocio. This will ensure that all host applications and plugins that use OCIO will use the same OCIO settings.
    • We strongly suggest working with an IT department or IT professional to help setup environment variables, as there can be underlying conflicts with pre-existing settings.
    • Windows:
      • Open "File Explorer"
      • Right-click on "This PC" and select "Properties"
      • On the left, navigate to "Advanced system settings"
      • At the bottom, click on "Environment Variables"
      • In the top section labelled "User variables for...", click "New"
      • In the dialog that pops up, enter "OCIO" in the "Variable name" box, and the full path to the config.ocio file in the "Variable value" box.
    • Mac OS:
      • Open a Terminal - This can be found using Spotlight
      • Type: "launchctl setenv OCIO /full/macos/pathway/config.ocio" (without quotes). Note: this will not remain set after a reboot.
      • To set the environment variable so that it persists through a reboot, the above command needs to be called through a .plist file in /Library/LaunchDaemons.
    • Linux:
      • To set the OCIO environment variable for all users of the computer, add "export OCIO /full/linux/pathway/config.ocio" (without quotes) to /etc/profile, replacing "full/linux/pathway/config.ocio" with the path full path for the desired config.ocio.
      • To set the OCIO environment variable for the current user only, add "export OCIO /full/linux/pathway/config.ocio" (without quotes) to ~/.profile, replacing "/full/linux/pathway/config.ocio" with the path full path for the desired config.ocio.
  • To set OCIO for Sapphire only, set the ocio_config flag inside the s_config file that shipped with Sapphire and can be found in the Sapphire installation directory.
    • Windows: C:\Program Files\BorisFX\Sapphire 2025 OFX\s_config.text
    • Mac OS: /Applications/BorisFX/Sapphire 2025 OFX/config/s_config.text
    • Linux: /opt/BorisFX/SapphireOFX/s_config.text

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 Boris FX 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.

Loading:

In the preset browser you'll see all the presets available for the current plug-in, both Boris FX-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.

Saving:

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.... Boris FX 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.

The Preset Browser has a "Use Static Thumbnails" checkbox in certain effects. When checked, the thumbnails use a pre-rendered image to improve performance. If "Use Static Thumbnails" is not checked, the thumbnails will render on the footage the Sapphire effect has been applied to back in the host.

If playing through the preview window in the Preset Browser, Flare Editor, or Effect Builder, is using too much memory, "Render on Still" is available in the view menu. This will reduce the memory usage of the preview window by rendering all frames using the same host frame.

The preset browser may be configured to load presets from and/or save presets to user specified locations. The load location and save location may be different. If the locations are different, load will show presets from both the load location and the save location. Save will only use the specified save location.

There are three options for setting the load and save paths:

  1. To set load and save paths per user, use the "Browser Settings" dialog. To do this: open the preset browser, go to the Edit menu and select "Browser Settings".
  2. To set the load and save paths for all users of the machine, use the INI file. To do this, edit the sapphire-app-settings.ini file in the Sapphire directory:
    • Windows: C:\Program Files\BorisFX\Sapphire 2025 OFX\sapphire-app-settings.ini
    • MacOS: /Applications/BorisFX/Sapphire 2025 OFX/config/sapphire-app-settings.ini
    • Linux: /opt/BorisFX/SapphireOFX/sapphire-app-settings.ini
  3. To set the load and save paths in a script, use the Sapphire environment variables: SAPPHIRE_LOAD_PRESET_PATH and SAPPHIRE_SAVE_PRESET_PATH.
Note: Values set in environment variables will override the INI file. Values set in the "Browser Settings" dialog will override both.



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:

Position
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.
Size
How big the image is.
Rel Width, Rel Height
Use these to squash and stretch.
Rotate
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 http://borisfx.com.

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/BorisFX/Sapphire $MARKETING_VERSION OFX 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/BorisFX/Sapphire 2025 OFX/config/s_config.text
On Windows the config file is: C:\Program Files\BorisFX\Sapphire 2025 OFX\s_config.text .
On Linux the config file is: /opt/BorisFX/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
    • Motion Blur in WhipLash
    • 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
List all effects with pictures

List all effects by name

List all effects with a brief summary

General User Info
What's New In This Version
Compatibility Notes
Loading a Plug-in
Color Management with OpenColorIO
Loading and Saving Presets
Designing Lens Flares and Glares
Using the Sapphire Effect Builder
Using Mocha in Sapphire
Resetting Parameters to Defaults
Online Documentation
About GPU Acceleration
About Motion Blur
About Matte Inputs
About Alpha Processing
About Angle Parameters
About Pixel Aspect Ratios
Customizing Plug-ins
Known Problems
3rd Party Licenses

Glow Effects
Glow
GlowAura
GlowDarks
GlowDist
GlowEdges
GlowNoise
GlowOrthicon
GlowRainbow
GlowRings
UltraGlow
ZGlow
Light Beams
Rays
EdgeRays
Streaks

LensFlares
LensFlare
LensFlareAutoTrack
LightLeak
Glints & Glares
Glint
GlintRainbow
Glare

Other Lighting
BokehLights
DropShadow
Flashbulbs
Light3D
SpotLight

AutoPaint & HalfTone
AutoPaint
Sketch
Etching
Brush:Oil
Brush:Chalk
Crosshatch
Cartoon
CartoonPaint
Posterize
HalfTone
HalfToneColor
HalfToneRings

Kaleidoscopes
Kaleido:Triangles
Kaleido:Squares
Kaleido:Diamonds
Kaleido:Oct
KaleidoPolar
KaleidoRadial
FlysEyeCircles
FlysEyeHex
FlysEyeRect
TileScramble
Film Effects & Grain
FilmEffect
FilmDamage
Vignette
BleachBypass
Grain
GrainStatic
UltraGrain
Diffuse
VintageColor2Strip
VintageColor3Strip

Edge Effects
EdgeDetect
EdgeDetectDouble
EdgesInDirection
EdgeColorize

Embossing
Emboss
EmbossShiny
EmbossDistort
EmbossGlass
Other Stylize
BandPass
ColorFuse
DogVision
DigitalDamage
JpegDamage
TVDamage
Grunge
Mosaic
PixelSort
PseudoColor
PsykoBlobs
PsykoStripes
PrismLens
RomanTile
ScanLines
ScanLinesMono
Solarize
StripSlide
Zebrafy
ZebrafyColor
ZFogExponential
ZFogLinear

Adjust
ChannelSwitcher
ClampChroma
DuoTone
Gamma
Hotspots
HueSatBright
Invert
Monochrome
OCIOTransform
QuadTone
Threshold
Tint
TriTone
ShowBadColors

Composite
EdgeFlash
Layer
MathOps
MatteOps
MatteOpsComp
ZComp
Blur+Sharpen
Beauty
Blur
BlurChannels
BlurChroma
BlurDirectional
BlurMoCurves
BlurMotion
DefocusPrism
Convolve
ConvolveComp
Deband
EdgeBlur
EdgeAwareBlur
FreeLens
GrainRemove
Median
RackDefocus
RackDfComp
Sharpen
SoftFocus
ZConvolve
ZDefocus
ZBlur

Distort Effects
Distort
DistortBlur
DistortChroma
DistortRGB
Warps & Shake
InfiniteZoom
ParallaxStrips
WarpBubble
WarpBubble2
WarpChroma
WarpCornerPin
WarpDrops
WarpFishEye
WarpMagnify
WarpPerspective
WarpPolar
WarpPuddle
WarpPuff
WarpRepeat
WarpTransform
WarpVortex
WarpWaves
WarpWaves2
Shake
StretchFrameEdges

Lightning Zaps
UltraZap
Zap
ZapTo
ZapFrom

Gradients, Grid & Shape
Gradient
GradientMulti
GradientRadial
Grid
Shape

Procedural Textures
Caustics
Sparkles
SparklesColor
TextureCells
TextureChromaSpiral
TextureFlux
TextureFolded
TextureLoops
TextureMicro
TextureMoire
TextureNeurons
TextureNoiseEmboss
TextureNoisePaint
TexturePlasma
TextureSpots
TextureTiles
TextureWeave

Fractal Clouds
Clouds
CloudsColorSmooth
CloudsMultColor
CloudsPerspective
CloudsPsyko
CloudsVortex
Other Render
Aurora
LaserBeam
Luna
MuzzleFlash
NightSky
Time Effects
CutToDissolve
Feedback
FeedbackBubble
FeedbackDistort
FieldRemove
FreezeFrame
GetFrame
JitterFrames
MotionDetect
NearestColor
RandomEdits
RepairFrames
Retime
ReverseClip
ReverseEdits
TimeAverage
TimeDisplace
TimeSlice
TimeWarpRGB
Trails
TrailsDiffuse

Flicker Tools
Flicker
FlickerMatch
FlickerMatchColor
FlickerMatchMatte
FlickerMchMatteColor
FlickerRemove
FlickerRemoveColor
FlickerRemoveMatte
FlickerRmMatteColor

Effect Builder
Effect
Transition
Dissolve Transitions
Dissolve
DissolveAutoPaint
DissolveBlur
DissolveBubble
DissolveDefocus
DissolveDiffuse
DissolveDigitalDamage
DissolveDistort
DissolveEdgeRays
DissolveFilm
DissolveFlashbulbs
DissolveGlare
DissolveGlint
DissolveGlintRainbow
DissolveGlow
DissolveLensFlare
DissolveLuma
DissolvePixelSort
DissolvePuddle
DissolveRays
DissolveShake
DissolveSpeckle
DissolveStatic
DissolveTiles
DissolveUltraGlow
DissolveVortex
DissolveWaves
DissolveZap

Wipe Transitions
WipeBlobs
WipeBubble
WipeCells
WipeChecker
WipeCircle
WipeClock
WipeClouds
WipeDiffuse
WipeDots
WipeDoubleWedge
WipeFlux
WipeFourWedges
WipeLine
WipePixelate
WipeRectangle
WipeRings
WipeStar
WipeStripes
WipeTiles
WipeWedge
WipePlasma
WipePointalize
WipeWeave
WipeMoire
SwishPan
Swish3D

Other Transitions
CardFlip
FilmRoll
FlutterCut
HyperPull
HyperPush
ParallaxStripsTransition
StripSlideTransition
SwishPan
Swish3D
TVChannelChange WhipLash