Rendering & Anwendungen

Bilder größer als eine Textur rendern

Ein Bild darf weit größer als die maximale GPU-Texturkante sein, wenn es nie als einzelne Textur angelegt wird. Kachelrendering berechnet handhabbare Bereiche und streamt fertige Pixel in eine Ausgabestruktur.

Mandelbrot-Rendering mit sichtbarem Kachelraster für einen Großexport
Übergroße Bilder werden in berechenbare Kacheln zerlegt und anschließend ohne sichtbare Nähte zusammengesetzt.Bild: Björn Kindler / MandelKit · MandelKit Wissensgrafik · Eigene Darstellung · Own work

Globale Ansicht, lokale Kacheln

Jede Kachel leitet ihre Koordinaten aus vollständigen Ausgabemaßen und sichtbarem Seitenverhältnis ab. Sie darf das Fraktal nicht selbstständig einpassen oder zentrieren; sonst enthält die Montage wiederholte Ausschnitte statt einer durchgehenden Ansicht.

Eine riesige Ausgabe besitzt ein globales Koordinatensystem. Jede Kachel erhält daraus ihren exakten Ausschnitt, nicht eine separat gerundete Kamera. Pixelzentren müssen über Kachelgrenzen fortlaufend bleiben, sonst entstehen Sprünge. Seitenverhältnis und sichtbarer Fraktalbereich werden einmal für das Gesamtbild definiert. So kann eine 100.000-Pixel-Ausgabe dieselbe Komposition wie die Bildschirmansicht bewahren.

Effekte brauchen Nachbarschaft

Antialiasing, Normal Maps und Bildraumfilter können über einen Kachelrand hinaus abtasten. Schutzränder beim Rendern und anschließendes Beschneiden verhindern Nähte. Globale Verfahren wie Histogrammausgleich brauchen einen Statistikpass oder bleiben bewusst deaktiviert.

Filter mit Radius benötigen Randpixel aus Nachbarkacheln. Man rendert daher jede Kachel mit einem Halo, führt den Effekt aus und schneidet erst danach auf den Kern zurück. Mehrstufige Effekte können einen größeren kumulierten Halo verlangen. Ohne diesen Überlapp entstehen Nähte, obwohl jede Einzelkachel für sich korrekt aussieht. Der nötige Radius gehört zur Effektdefinition und muss dem Exportplan bekannt sein.

Datenträger ersetzt Spitzenbedarf

Ein datenträgergestützter Encoder oder Zwischenspeicher übernimmt fertige Zeilen oder Kacheln. Das begrenzt RAM und GPU-Speicher, verlagert aber Druck auf Speicherplatz, Formatgrenzen und Laufzeit. Fortschritt, Abbruch und atomarer Abschluss gehören bei langen Exporten zur Korrektheit.

Wenn das Gesamtbild nicht in RAM oder eine Metal-Textur passt, werden fertige Streifen direkt in einen inkrementellen Encoder oder eine temporäre Datei geschrieben. Fortschritt sollte gerenderte und kodierte Arbeit berücksichtigen, Abbruch temporäre Daten sauber schließen. Ein einzelnes CGImage des Endformats darf nie Voraussetzung sein – genau diese abschließende Zusammensetzung verursachte sonst leere oder nicht kodierbare Großexporte.

Quellen und Vertiefung

Die Darstellung fasst die folgenden Fachquellen in eigenen Worten zusammen. Abruf und redaktionelle Prüfung: 12. August 2026.

  1. Metal overviewApple Developer Documentation
  2. The Science of Fractal ImagesSpringer