Skip to content

KBVEPostShader

KBVEPostShader is a stylized post-process pipeline targeting a Breath of the Wild / Studio Ghibli painterly look: anisotropic Kuwahara oil-paint smear, cel luminance banding, and depth-driven ink outlines. It runs as chained RDG passes from a FSceneViewExtension, inserted after the tonemapper, gated by CVars and off by default.

  1. Structure tensor — RGB Sobel resolved into a local flow tangent + anisotropy.
  2. Anisotropic Kuwahara — 8-sector generalized Kuwahara over a flow-oriented ellipse → oil-paint base.
  3. Composite — ink outlines from scene depth + painted-luma discontinuities, cel banding (hue preserved), warm saturation, darkened by the ink mask.
CVarDefaultPurpose
r.KBVEPost.Enable0Master on/off.
r.KBVEPost.Radius6Kuwahara sample radius.
r.KBVEPost.OilStrength0.85Blend original → Kuwahara.
r.KBVEPost.Bands5Cel luminance bands.
r.KBVEPost.EdgeStrength1.4Ink outline darkening.
r.KBVEPost.EdgeThreshold0.15Discontinuity threshold.
r.KBVEPost.Saturation1.15Painterly saturation.

Defaults also live in Project Settings → KBVE → KBVE Post Shader.

Terminal window
r.KBVEPost.Enable 1
r.KBVEPost.Radius 8

P1: the core trio (structure tensor + anisotropic Kuwahara + cel/ink composite), BotW-tuned defaults, desktop SM5+. P2 will add GBuffer-normal outlines, a warm palette LUT, canvas overlay, flow warp, and Ghibli/BotW presets.