[Addon] Import Corel Painter RIFF files – for Impasto Depth (3D) Texture

Here is a Blender add-on to import Corel Painter RIFF files.
Corel Painter is a commercial traditional media digital art application.
I created this add-on specifically to extract the impasto (3D) depth layer information found in RIFF files, but the add-on should also be able to load most raster layers from RIFF files.
Corel Painter can store up to 65536 levels of impasto depth information per layer in RIFF files.
Theoretically, using this add-on, fine displacement and 3D printing, you should be able to print a painting featuring a real visual and tactile impasto texture.

Once the add-on is loaded, UV/Image Editor -> Image -> Import Painter RIFF (or spacebar “Import Painter RIFF”)
Hover over the options at the bottom left of the file selection screen for tooltip help on the import options.
Options are:

All Layers:

  • Import all raster images from all layers in a RIFF file; otherwise only images from the canvas layer will be imported. This add-on will not import text or shape layers.

Adjust Layers:

  • Adjust imported layer image sizes and positions to fit/match the canvas dimensions. Otherwise layers will be imported using their own native sizes and positions.

Drop Impasto:

  • Drop lowest impasto level to black. Useful for displacement which starts from black. Painter impasto is based from a middle grey. Note that the lowest impasto level can easily be lower than the base (paper) level in Painter, even with a single brush stroke.

Spread Impasto:

  • Spread out full impasto range for each layer from black to white. Otherwise impasto range is imported as is.


  • You must save RIFF files UNCOMPRESSED from Corel Painter for this add-on to import them.
  • IMPORTANT: After images are imported, save them as soon as possible, otherwise Blender will not keep them!
  • Save impasto images as BW 16-bit PNG to preserve full depth information.
  • Mask images can be saved as BW 8-bit PNG.
  • Other images can be saved as RGBA 8-bit PNG to preserve full detail and transparency.
  • The canvas layer in Corel Painter does not contain transparency information. Paint on a layer instead of the canvas if you want transparency.
  • Watercolor and Liquid Ink layers include extra images containing wetness information.
  • The add-on will not combine layers together, do this (drop function) in Corel Painter
  • Corel Painter RIFF is non-standard proprietary file format for which I found no information or specifications, I had to deduce and guess the structure. So save your work before using this add-on in case there is a problem, or better yet, use this add-on in a separate session only to import and save impasto layers and images.

Very simple examples, rendered in Blender (EDIT: also see video and example .blend a few posts below!):


io_import_painter_riff.zip (3.86 KB)

Fantastic tools…I dont know that but to try must be my plan!
Congratulations for share your job.
Bye bye.

Holy smoke, that’s really impressive. I always thought of the impasto feature in Painter as more of a texture than depth (though it does call it “depth”, doesn’t it?). Bringing this to 3D printing is simply brilliant, really. Congratulations. I hope the Painter community finds out about this.

You should upload an example RIFF file for people who don’t currently own a Painter license (ahem, me) so they can play with it in Blender to see it in action.

Again, terrific work. Smart stuff.


Wow…very cool!

I was hoping someone would be able to provide a good RIFF with impasto. I don’t have the tools, like a pen tablet with tilt and orientation, or the skills to create a good impasto painting.
Note that Corel does provide a free 30-day trial download of Painter 2015.

I can provide an example, albeit tacky, Blend file on how to use the imported RIFF layers.
I created a simple painting in Corel Painter 2015 using three layers:
…saved it, imported the layers using the add-on, then saved the result.

You don’t need Corel Painter or the add-on to see/use this blend file, this what I end up with:

Here is a simple 1080p animation of that example blend showing the impasto feature (click on image to see YouTube video):


but this file is the same as the file which I downloaded on 24th July

@Oyster: The add-on was not changed. The forum’s “Last edited by…” message simply refers to the forum post, not the attachment.
I uploaded an example video and .blend file; you can find links to those in the post immediately above yours.

Brilliant addon. Thank you!

Oh this is exciting! Using your code, it should be possible to start writing a corel painter import filter for Krita…

This looks fantastic, I can’t wait to try it out later tonight. Thank you!

Can you explain to me, what’s the difference? To import a Corel Painter riff- file with your add-on, or to UV map a JPEG image, made in Corel Painter with impasto.
This image is an image texture with a displacement modifier.



thank you for this addon, really nice :slight_smile:

Using JPEG color for displacement is very different from using the real impasto depth (paint thickness) detail information found in a RIFF file. Impasto depth is not related to visual color information at all, although it may appear like that to you. Besides, a JPEG only hold 256 shades; the add-on imports all possible 65536 levels of actual fine detail impasto depth information, a high-resolution 3D render with detailed impasto displacement would make this very clear. The add-on also can import multiple separate layers (both impasto and raster images) found in Painter RIFF files.

this is neat. could the same thing be done for ArtRage do you think?

I couldn’t get the addon to install correctly, in Blender 2.93.5. Any suggestions?

Since I’m a new user, I can’t attach the .riff file that I was going to attempt to import, but given some time, I’ll do just that. It’s mostly a single color file (so it looks flat without the impasto data) and resembles a bearded face