Rick Brewster Posted May 9 Share Posted May 9 This build includes an update of Image->Resize's resampling modes, gamma correction for key parts of the app, higher quality canvas rendering, and a host of other miscellaneous fixes and improvements. In addition, GPU-based effect plugins now default to rendering in linear gamma space (existing plugins are not affected, however!) and have better access to color management information. Gamma correction is important for maintaining luminance (brightness, basically) when an image is being processed or rendered. Sometimes this effect is subtle, but in some cases it can be quite pronounced. First up, in Image->Resize the resampling mode has been moved to the bottom into an Options section, along with a new "Use gamma correction" checkbox that defaults to enabled: The Move Selected Pixels tool has also been upgraded to support this for all resampling modes (although it's not applicable to Nearest Neighbor), and there is a new Gamma mode choice in the toolbar if you'd rather not use it for whatever reason: Speaking of which, there is a good test image for this over at https://forums.getpaint.net/topic/122409-feature-request-gamma-corrected-image-resizing/ . I'll be using the "128 / 187" image for the next two screenshots. Next up, all in-app thumbnails and the canvas itself are now using gamma correction. This ensures that luminance (aka brightness) is correctly maintained when you're zooming out on the image (and thumbnails are basically little zoom-outs of the image). Without gamma correction, it looks like this in v5.0.3: With gamma correction in v5.0.4, it looks correct: Since this required a bunch of updates to how the canvas renders itself, I also bumped up the quality of its rendering. When zooming in to an image, a type of antialiasing is now applied so that the pixelation effect appears more uniform. And when zooming out, multisampling is used to make the image looking smoother. There are a lot less aliasing artifacts. It's hard to show these effects in your browser because things will likely get resized and distorted, but I'll try. On the left is the original, a cloud bubble drawn into a 128x128 pixel space. Antialiasing was disabled and the brush size was set to 1. The next two images are zoomed at 267%, in v5.0.3 and then in v5.0.4. Notice how the pixelation effect is much more uniform in 5.0.4, eliminating the distortions you see in 5.0.3. If you'd like to read more about gamma correction and rendering in linear gamma space, here are some resources: Gamma error in picture scaling, by Eric Brasseur http://www.ericbrasseur.org/gamma.html GPU Gems 3 Chapter 24, The Importance of Being Linear https://developer.nvidia.com/gpugems/gpugems3/part-iv-image-effects/chapter-24-importance-being-linear Understanding Gamma Correction, Cambridge in Colour https://www.cambridgeincolour.com/tutorials/gamma-correction.htm Gamma correction, Wikipedia https://en.wikipedia.org/wiki/Gamma_correction John Carmack (of id Software, DOOM, and Quake fame) recently tweeted about how incorrect gamma correction negatively affected the 4K UHD release of The Martian: https://twitter.com/ID_AA_Carmack/status/1654528504724062217 ――――― This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable "Also check for pre-release (beta) versions of paint.net" and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP. You can also download the installer here (for any supported CPU and OS). Offline installers, portable ZIPs, and deployable MSIs are available over on GitHub. Changes since v5.0.3: Improved: Image->Resize has been updated The default resampling mode is now Bicubic, which has been updated to use the Catmull-Rom ("Catrom") cubic filter. This matches the Bicubic mode of the Move Selected Pixels tool (which uses Direct2D's "HighQualityCubic" mode). Added a new resampling mode, "Bicubic (Smooth)", which has no sharpening. It may produces blurrier results, but is important for some scenarios if you need to completely avoid ringing artifacts that other modes (Bicubic, Lanczos, and Adaptive) can introduce due to their added sharpness. "Adaptive (Best Quality)" has been renamed to "Adaptive (Sharp)" and is no longer the default resampling mode. It is still a very good choice when resizing photos, but whether you use Adaptive, Bicubic, or Lanczos is up to your own personal preference. A new option has been added, "Use gamma correction", which is enabled by default. The text box for typing in a percentage now accepts two digits past the decimal point, e.g. 35.79% Improved: Move Selected Pixels (free transform) has been updated New: Added a "Multisample Bilinear" sampling mode. This has a sharper look than Anisotropic and avoids the "ringing" artifacts that can be apparent when using Bicubic with high-contrast images (like screenshots). However, it doesn't usually work as well when reducing a selected area to a much smaller size. New: Added a "Gamma mode" button in the toolbar to toggle gamma correction on and off. The default is on, which improves the quality of rendering by preserving luminance (brightness). Fixed a bug when using Bicubic sampling that would result in added sharpening when resizing the selected area to 1/8th its original size or smaller Improved: The rendering quality of the canvas area has been greatly improved Gamma correction is now used for mipmap generation and compositing, ensuring consistent luminance (brightness) and higher quality antialiasing. Multisampling is now used for antialiasing, which eliminates pixelation distortions when zooming in, and greatly reduces aliasing artifacts when zooming out. Improved: Thumbnails within the app now use gamma correction, which ensures consistent luminance (brightness) New: GPU effects and plugins now support gamma correction, with linear gamma being the default rendering mode for new plugins. This can be changed by overriding OnInitializeRenderInfo() and setting the renderInfo.GpuEffectColorContext property to GpuEffectColorContext.WorkingSpace (the default is WorkingSpaceLinear) GPU effect plugins have better access to color management information via the IGpuEffectImage interface and its ColorContext property. All input images (e.g. Environment.SourceImage) are now provided via this interface. In addition to the built-in effects that already render with gamma correction, the following built-in effects now also render with linear gamma and/or gamma correction: Adjustments -> Exposure Blurs -> Fragment Blurs -> Motion Blur Blurs -> Radial Blur Blurs -> Zoom Blur Distort -> Bulge Distort -> Crystalize Distort -> Dents Distort -> Frosted Glass Distort -> Pixelate Distort -> Polar Inversion Distort -> Tile Reflection Distort -> Twist Layers -> Rotate/Zoom Object -> Drop Shadow Photo -> Straighten Render -> Julia Fractal Render -> Mandelbrot Fractal Fixed: Ctrl+G has been reinstated as the shortcut key for Image -> Rotate 90° Counter-Clockwise Fixed a rendering glitch in Effects -> Distort -> Dents that would sometimes result in rows or columns of incorrectly colored pixels Fixed: Some systems were having problems with Paint.NET not appearing in the "Open With" list in Windows File Explorer. This should now be fixed. Fixed: When installing an update, the desktop shortcut is no longer recreated. This means you can delete it without it reappearing after every update. This was a bug accidentally reintroduced back in Paint.NET v4.3. Improved: Increased the maximum zoom range from 1.5625% (1/64) -> 6,400% to 1% -> 10,000% Improved the reliability of the wrapper classes for Windows COM libraries (Direct2D, etc.) Improved the /ignoreCorruptPDNChunks to allow an additional type of corrupt PDN image to be partially recovered (thanks @null54!) Updated the bundled DDSFileTypePlus plugin to v188.8.131.52, which adds gamma correction for mipmap generation (thanks @null54!) Updated the bundled WebPFileType to version v184.108.40.206, which reduces some confusion when using lossless compression (thanks @null54!) 1 1 Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.