Supersampling resolve filters + optional RCAS sharpening - #105
Merged
Merged
Conversation
…S sharpening) Adds a downscale-filter option for scales above 100%: Rotated Grid (4 bilinear taps on the arctan(1/2) grid, best around 2x) and Sparse Grid (8 taps as two half-scale rotated-grid quads, used at 3x and above). Both resolve the already-rendered ordered-grid image; no extra geometry coverage samples. Below 100% the behaviour is unchanged. An optional RCAS sharpening pass (off by default, 35% strength) offsets the resolve softening: it runs at AMD's FSR1 reference tuning over the shared output-sized intermediate and blends towards the unsharpened pixel, so strength is a consistent 0-100% control with a true bypass at 0%. The FSR branch is never sharpened. Strength presets live on a 5% grid; each preset x noise mode gets a lazily built pipeline, since no supported version exposes a float uniform setter on a render pass. Controls sit on the main config page in both the Cloth and Sodium UIs, guarded to 1.21.11+ like the fsr option; older versions are untouched (scale slider ranges revert to 200% there). The dev-only gametest classes are excluded from the shipped jars. All four stonecutter targets build: 1.21.11-fabric, 26.2-fabric, 26.2-neoforge, 26.3-fabric.
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Supersampling resolve filters + optional RCAS sharpening
Base:
Zolo101/RenderScale@stonecutter· Head:PEQHUB:feat/supersampling-filters· Commit:6b888b9What it does
When the render scale is above 100%, the downscale from the render target to the window currently uses a single bilinear fetch. This adds two resolve filters, selectable in the config:
Both filter the already-rendered image; they do not add geometry coverage samples. Below 100% scale, nothing changes.
Optional RCAS sharpening (Off / RCAS / RCAS with noise protection) offsets the resolve softening. It runs at AMD's FSR1 reference tuning over the shared output-sized intermediate, blending towards the unsharpened pixel so strength is a plain 0-100% control. Default 35%. 0% or Off skips the pass entirely. The FSR path is never sharpened.
Implementation notes
blitAndBlendToTexturefor render-target-larger-than-output; mutually exclusive with FSR upscaling by construction.rcas.fshserves FSR and sharpening; the blend/noise defines are optional, so FSR's output is unchanged. Version-specific pipeline building is oneRenderPipeline.Builderfactory; the fullscreen pass and intermediate-target handling are shared helpers.fsroption. Older versions are untouched (slider ranges revert to 200%).Testing
Known limitations