Sharper Cycles renders

Hello,

My Cycles renders (although displaying awesome lighting), always result in a somewhat blurred result. If I apply an Unsharp Mask (in Affinity Photo, for example), I get a much sharper result, usually resulting a more natural and expectable result. Anyway to achieve this sharper result right out of the render, or by using some compositor magic? (I tried three different methods in Compositor and the results are not good at all: the native Filter-Sharpen, and the groups Unsharp Mask, and Sharpen/Soften)

Here are two images so that you can see the difference before and after applying Unsharp in Affinity Photo:

Hi,
You can do some experimenting with the Pixel Filters in the Render tab > Film > Pixel Filter. For example with the Blackman-Harris type you can vary the width to get sharper (lower value = less anti-aliasing). There’s not a lot of finesse with these - Blender Cycles does not offer as much in this area as, say, V-Ray, etc…

More info on the Cycles Pixel filters
https://docs.blender.org/manual/en/latest/render/cycles/render_settings/film.html

Info on Eevee Pixel Filters
https://docs.blender.org/manual/en/latest/render/eevee/render_settings/film.html

Hope that helps a bit
Daf

Thanx for the tip. I already found about that suggestion in another post. I tried it and, although I got less blurred results, there are two downsides: 1 - oblique sharp edges get jagged/stepped; 2 - it doesn’t get anywhere near to the result I get with the post-process Unsharp Mask.
I guess some renderers have some option to calculate extra supbpixels in needed areas in order to avoid post anti aliasing? Am I dreaming?

I guess some renderers have some option to calculate extra supbpixels in needed areas in order to avoid post anti aliasing? Am I dreaming?

You’re not, but Cycles already has that feature. It can’t work with a sharp pixel filter though.

What you want to do isn’t really achievable in the render. Cycles is already really, really sharp due to not just being a render, but the somewhat odd pixel filtering method it uses which prevents neighboring pixels from influencing each other. In other words, Cycles renders are naturally about as sharp as is mathematically possible with rendering techniques. It’s also far sharper than any physical camera could achieve as it is not limited by silly things like diffraction and debayering.

If that’s not enough local contrast, a 2D sharpen filter like the ones in your example is a good way to go. These filters don’t actually make the image sharper, kinda the opposite as they draw strokes around the edges of things. But the improve the contrast of edges, making the image appear sharper even though it isn’t. Your can see this in the rug in your example images. The sharpened version makes the fibers easier to see at a glance because their edges are higher contrast, but if you zoom in there’s actually less detail because that contrast boost (the unsharp mask) covered up some detail.

Thank you for the technical insight. You say “Cycles renders are naturally about as sharp as is mathematically possible with rendering techniques”. I reckon BI or Eevee would result in sharper results? Why do other renderers (vray, corona…) give overall sharper results? I am just trying to understand if I am dependent in getting the Render Result though post-processing or can I get the (sharp) image right out of Blender.

I reckon BI or Eevee would result in sharper results?

I see no reason that they would.

Why do other renderers (vray, corona…) give overall sharper results?

They don’t, as far as I know. Nor can I think of any technical reason why they would. Do you have an example that shows otherwise?

I am just trying to understand if I am dependent in getting the Render Result though post-processing

Any good render result is going to require post-processing, so I’m not seeing what the big deal is to throw a sharpen in there with everything else if that’s a look you like.

1 Like

If you’re using denoising that’s a typical source for loss of detail. Today I had to use cryptomatte to reduce amount of denoising on certain objects/materials. Other than that, pixel filter as mentioned but it typically cause me more grievance than it is worth. What is “more natural result”? Usually photos are sharpened; once for native resolution, and a second time for the delivery/use size. Oh, that floor looks absolutely horrid in the lower right corner in the sharpened version, and the sofa seems to be suffering some loss of details too when it gets too small. I don’t trust Blender to do any final resize filtering, but maybe I’m just doing it wrong.