The shipping default had NO anti-aliasing at all: the temporal resolve was removed, the setting's first option went on saying "Temporal", and MSAA defaults to one sample, so every machine without DLSS drew grass and needle cards with nothing smoothing an edge. FXAA in the sharpen pass, which already reads the neighbourhood and runs last on the LDR image. No history, so it cannot drag or smear a reflection. 25.5% less single-pixel staircase on edge pixels. The trap, recorded because it inverted the result: the unsharp delta must be computed from the RAW image and only then applied to the anti-aliased colour. Centre from FXAA and neighbours from the raw texture measures half smoothing and half signal, so the mask sharpens precisely what FXAA softened - 29% WORSE than no anti-aliasing at all. Depth of field for the photo mode: a disc whose radius is the circle of confusion, normalised by focus distance so a landscape shot is not a macro, with taps rejected unless they are at least as out of focus as the pixel they blur into - which is what stops a sharp foreground haloing into a blurred background. Between the scene and the bloom, so a blurred highlight still blooms. Skipped whole when the aperture is shut. 400 frames in ordinary play: GL 7.1 s, VK 7.2 s - the lens does not draw there. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
58 lines
2.6 KiB
Text
58 lines
2.6 KiB
Text
# variants.list - every program render3d builds: vertex|fragment|defines (one line; newlines
|
|
# in the defines are written as ";"). A backend that cannot compile shaders at run time
|
|
# (Vulkan: SPIR-V is built ahead) must cover all of them. Regenerate by running the game and
|
|
# its self-tests with R3D_PROGRAMS_LOG=<file> and sorting the result.
|
|
fullscreen.vert|adapt.frag|
|
|
fullscreen.vert|bloom_down.frag|
|
|
fullscreen.vert|bloom_up.frag|
|
|
fullscreen.vert|heightgen.frag|#define DEM;
|
|
fullscreen.vert|ibl_brdf.frag|
|
|
fullscreen.vert|ibl_irradiance.frag|
|
|
fullscreen.vert|ibl_prefilter.frag|
|
|
fullscreen.vert|sharpen.frag|
|
|
fullscreen.vert|sky.frag|
|
|
fullscreen.vert|ssao_blur.frag|
|
|
fullscreen.vert|ssgi.frag|
|
|
fullscreen.vert|ternormal.frag|
|
|
fullscreen.vert|tershadow.frag|#define NOISE_ONLY;
|
|
fullscreen.vert|tonemap.frag|
|
|
fullscreen.vert|tonemap.frag|#define HDR10;
|
|
grass.mesh|model.frag|#define FOLIAGE;#define BLADE;#define MESH;
|
|
grass.vert|model.frag|#define FOLIAGE;#define BLADE;
|
|
grass.vert|model.frag|#define FOLIAGE;#define BLADE;#define TILES;
|
|
impostor.vert|impostor.frag|
|
|
impostor.vert|impostor.frag|#define SHADOW_PASS;
|
|
model.vert|bake.frag|
|
|
model.vert|bake.frag|#define CARD;
|
|
model.vert|bake.frag|#define FLOWER;
|
|
model.vert|depth.frag|#define FOLIAGE;#define WIND;#define ALPHA_TEST;
|
|
model.vert|model.frag|
|
|
model.vert|model.frag|#define CARD;#define CHEAP;
|
|
model.vert|model.frag|#define FOLIAGE;#define WIND;#define ALPHA_TEST;
|
|
model.vert|model.frag|#define FOLIAGE;#define WIND;#define BLADE;
|
|
model.vert|model.frag|#define FOLIAGE;#define WIND;#define CARD;
|
|
model.vert|model.frag|#define FOLIAGE;#define WIND;#define EQ_PASS;
|
|
model.vert|model.frag|#define FOLIAGE;#define WIND;#define FLOWER;
|
|
model.vert|model.frag|#define SHADOW_PASS;#define WIND;#define CARD;
|
|
model.vert|model.frag|#define WIND;
|
|
model.vert|shadow.frag|#define SHADOW_PASS;
|
|
model.vert|shadow.frag|#define SHADOW_PASS;#define WIND;
|
|
model.vert|shadow.frag|#define SHADOW_PASS;#define WIND;#define ALPHA_TEST;
|
|
overlay.vert|overlay.frag|
|
|
overlay.vert|overlay.frag|#define HDR10;
|
|
skin.vert|model.frag|
|
|
skin.vert|model.frag|#define ALPHA_TEST;
|
|
skin.vert|outline.frag|#define OUTLINE;
|
|
skin.vert|outline.frag|#define OUTLINE;#define ALPHA_TEST;
|
|
skin.vert|shadow.frag|#define SHADOW_PASS;
|
|
skin.vert|shadow.frag|#define SHADOW_PASS;#define ALPHA_TEST;
|
|
terrain.vert|terrain.frag|
|
|
terrain.vert|terrain.frag|#define FAR_ONLY;
|
|
terrain.vert|terrain.frag|#define NEAR_ONLY;
|
|
terrain.vert|terrain.frag|#define SUN_INLINE;
|
|
terrain.vert|terrain.frag|#define SUN_INLINE;#define FAR_ONLY;
|
|
terrain.vert|terrain.frag|#define SUN_INLINE;#define NEAR_ONLY;
|
|
terrain.vert|tersun.frag|
|
|
water.vert|water.frag|
|
|
fullscreen.vert|volumetric.frag|
|
|
fullscreen.vert|dof.frag|
|