Granite renders — ashlar_test_sawn_honed on material_plane_uv

Cycles (Metal), 512×512, seed 0. Distance is the material_plane_uv camera dist_mult (default 0.8).

Side by side: reference photo vs granite_gray_salt_pepper v8 (head-on camera)

Reference photo
v8 render, head-on, frame ~0.5 m wide
Reference, zoomed crop
v8 head-on, zoomed crop (4× nearest-neighbor)

Brightness stats (stone only) — photo: mean 0.41, 5–95% 0.09–0.69, dark<0.25 21%, light>0.6 16% · v8 head-on: mean 0.35, 5–95% 0.02–0.64, dark 30%, light 11%.

Earlier: oblique camera (~54° off-perpendicular)

v8, oblique camera
v8 oblique, zoomed crop

Existing presets

granite_black_galaxy (in development), overview, 32 spp
granite_white_brown, overview, 32 spp
granite_white_brown, dist 0.4, 32 spp
granite_white_brown, dist 0.2, 32 spp
granite_white_brown, dist 0.1, 32 spp
granite_white_brown, dist 0.1, 512 spp

New preset: granite_gray_salt_pepper (matching a gray salt-and-pepper photo), dist 0.1, 32 spp

v1 — semantic controls (granite_mineral_rand); far too light
v2 — darker, sparser, larger grains; still no blacks
v3 — rebuilt on granite() with literal near-black colors
v4 — matte, cooler hue, 1.5× grains
v5 — more dark coverage, less inner texture
experiment — specular off: darks reach black (reflection veil confirmed)
v6 — rebalanced coverage, low specular
v7 — gray hornblende matrix, black mica specks
v8 (current) — denser, larger black mica