Log inGet started
World

Builtin Library

Branchmain
Branchesmainpublish
Commitdd348ac6c3

README.md

ImageSharpening

Sharpens the finished frame. Attach it to any entity in the scene — one is enough, since sharpening is a property of the image rather than of an object.

local id = entity.spawn("sharpening").id
entity(id).component.add("ImageSharpening", { sharpness = 0.5 })

Fields

FieldMeaning
sharpnessHow hard to sharpen, in [0, 1]. 0 releases the pass.

At 0 the frame renders exactly as it would without the component — the pass is released rather than run with a zero weight.

Why it does not halo

The strength adapts per pixel. Flat texture is sharpened hard; an edge that already spans black to white is barely touched, because there is no room left to push its pixels further apart. An unsharp mask sharpens both equally, and the bright fringe it leaves along the hard edge is that missing adaptation.

See sharpening for the direct API and contrastAdaptiveSharpen.renderFeature for the kernel.