New physics based dual component pigment canvas as default canvas type. This pigment canvas has such features:
Color is computed with canvas reflectivity and light source spectrum.
Every pigments has two separate spectrum for reflectance and transmittance, it can achieve all sorts of effects from opaque paints to transparent inks, it can also display the iconic hue/saturation skew effect that are present in many real paints when they are mixed with white/diluted.
Multiple modes for displaying the canvas for video hardware that are of different specs.
Fully compatible with existing brushes.
Allows exporting double-resolution image for smoother feature transition using debayer algorithm, this also shows a very beautiful digital chromatic aberration.
New brush properties: "Accumulation" and "Depletion"
"Accumulation" option only applies to pigment canvas and is only effective for pigments with transmittance components.
"Depletion" option applies to both RGBA canvas and pigment canvas. For brushes that has a non-zero Depletion, in the case of not using nodes, the transparency of the dabs will increase as the color depletes. If nodes are used, then transparency will not be automatically affected.
Color picker interface now has a visual "depletion" indicator strip, tapping on this indicator means to "re-ink" your brushes.
Compatible to all existing brushes.
New Brushes:
Oil (Specially tuned for Pigment Canvas)
Gouache (Specially tuned for Pigment Canvas)
Manga G Nib
Improved some existing brushes for also using on pigment canvas
Now allows custom loaded CMYK color profile (icm/icc) for soft proofing.
Our Paint now comes with two profiles: ISOcoated_v2_300_bas.icc and GenericCMYK.icm.
The fixed soft proofing LUT from the last version is no longer provided.
Traditional RGBA Canvas now uses non-premultiplied alpha to record color values, this solves the problem for where on mobile devices colors can turn black if your brush dab transparency is too high. Old files are not affected and can still be worked on and saved in the old way.
Now undo also supports modifications to tool properties, like undoing edits to brush nodes.
Other improvements
Fixed the issue where there might be black/white/transparent squares on top of exported images.
Prevent saving unrecognizable file thumbnails.
Rearranged most of the settings interface, now with much better visual hierarchy.
Fixed some issues with undo, now it should be very stable.
Fixed some interface problems:
Should show "New Brush" button when there's no brush in the list.
Prevent crashes after moving a layer.
Improved UI response for sliders. Also it's possible to tune sliders 10 times slower if holding Shift.
Prevent crashes when exiting from tooltips.
This document describes pigment recording and display method for Our Paint v0.5.
Canvas Pigment Recording
Pigment canvas records reflectance and transmittance values in 14 spectral slices with central wavelengths at 400-686nm, a bandwidth of 22nm, 8 bits per slice (on GLES is 4 bits per slice), stored value is the power of 1/2.2 from their physical reflectance/transmittance values. It also records density factor for reflectance and transmittance spectrum, each 16 bits (on GLES is 8 bits), value is linear. Both spectrum are non-premultiplied.
RL/AL Records 8 short wavelengths, RH/AH 6 long wavelengths and density value that's a double wide.
Each single pixel is in RGBA16UI format, aka 4x16-bit channels, or 8x8-bit channels. Use little-endian for multiplexing.
Convert to display
Light Source
|
| +--------> Result
| |
| -----Transmittance * Trans Density
| ^
V |
-----Reflectance * Reflect Density
For each layer, use the spectrum of the light source and reflectivity of pigments to calculate reflected spectrum, then multiply by transmittance to get final spectrum of this layer. Before the result is composed with the layer below, the transmittance density of the layer below is multiplied by the square of the reflectance density of this layer.
Use the 389-697nm ranged curve quantified from CIE 2006 2-degrees↗ LMS-XYZ measurement to convert the final spectrum to XYZ, then it can be converted to any display color space.
Two display sampling method: "Simple" combines 4 pixels into 1, "Debayer" tries to interpolate actual values from near by pixels to produce a higher resolution image.