I materiale-definitioner kan man nu angive en funktion ℝ3×ℝ3 → ℝ3 i Scheme, som via callback manipulerer en overflades normalvektor. Dermed er det muligt at lave bumpmapping på overflader, som ikke har veldefinerede (u,v) mappings.
Nedenstående funktion har som argumenter et overfladepunkt P og en normal N i dette punkt. Den returnerer blot N forskudt med lidt Perlin-støj i P for at give ovenstående materiale.