Show the file's own pixels at 1:1 and beyond
Zoomed to 1:1 or past it, the develop canvas showed a smoothed blur rather than the photograph's pixels, so focus and noise could not be judged at the magnification meant for judging them. Two things caused it. The canvas only switched to nearest-neighbour strictly past 1:1, with a margin, so the 1:1 inspection itself stayed smooth. And the switch mostly had nothing to act on: the pipeline rendered a viewport-sized frame at every zoom, so past 1:1 it was the pipeline doing the enlarging - bilinearly whenever a straightening angle or lens correction was in the chain - and the detail stage then sharpened and denoised those invented pixels at radii scaled up to match. The texture reached the canvas already blurred and was presented 1:1. Now, from 1:1 on, the visible region is rendered at the source's own resolution (render::render_size) and the canvas enlarges it with nearest-neighbour, so the blocks on screen are the pixels an export would have; it is also less shading. The decision lives in two small functions, render::magnification and render::shows_source_pixels, measured in physical pixels like one_to_one_zoom, with a half-percent tolerance so the inspection zoom counts as 1:1 even where fit() rounded the other edge. Below 1:1 the render and the smooth filter are unchanged.
This commit is contained in:
+39
-39
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user