Fraktalrelief, normaler och ljus
En fraktal som ser ut som 3D kräver inte nödvändigtvis en volymetrisk fraktal. Ett tvådimensionellt skalärfält kan tolkas som höjd, differentieras till normalvektorer och skuggas som en yta.

Välj höjdfältet
Jämn iteration, potential, avstånd eller en sammansatt effekt kan ge höjd. Icke-linjär skalning och klämning avgör om fina gränsdetaljer blir en ås, en platå eller brus. Det valda fältet är en konstnärlig tolkning snarare än en fysisk terräng.
Antalet iterationer, jämn potential och avståndsfält ger upphov till mycket olika höjder. Råa iterationer skapar trappsteg, kontinuerlig potential ger mjukare terrasser och avstånd ger skarpa gränsryggar. Höjden bör normaliseras före belysning och dess skala sparas. Annars kan en gradientförändring förändra reliefen även om användaren endast förväntar sig en färgförändring.
Normaler från angränsande prover
Finita differenser uppskattar horisontella och vertikala lutningar. Deras vektorprodukt eller motsvarande gradientformel ger en normalriktning. Samplingssteget bör följa utgångspixelskalan; annars förändras den upplevda skärpan vid kraftig zoomning eller export i hög upplösning.
Normaler härrör från skillnader mellan intilliggande höjdvärden. Deras styrka beror på pixelavstånd och zoom; en oskalad fast skillnad gör att samma relief framstår som brantare vid en annan upplösning. Centrala skillnader är mer symmetriska än ensidiga. Kanten på kakel behöver halo-värden för att undvika synliga övergångar i belysningen.
Riktat ljus och punktljus
Riktat ljus använder en riktning överallt, som en avlägsen ljuskälla. Punktljus beror på vektor och avstånd från varje ytpunkt och kan dämpas. Termer som omgivningsljus, diffust ljus, speglande ljus och ocklusionsliknande ljus bör beskriva distinkta reglage och aktiva tillstånd.
Riktat ljus har en riktning för varje pixel. Punktljus behöver dessutom en position och ett avstånd till varje ytpunkt, vilket ger varierande riktning och dämpning. En UI-knapp som endast ändrar sin etikett medan shadern fortfarande läser en riktningsvariabel kan aldrig aktivera punktljus. Tillståndsmodell, variabeluppställning och shadergren måste ha samma ljustyp.
Källor och vidare läsning
Denna artikel sammanfattar följande fackkällor i originalformuleringar. Hämtad och redaktionellt granskad 12 augusti 2026.
- The Science of Fractal ImagesSpringer
- Metal overviewApple Developer Documentation


