CamSplitter 2 — Gigapixel-Rendering für Blender
Manche Renderings passen einfach nicht in den Speicher, egal wie stark die Workstation ist: Gebäudefassaden, Messeposter, Bilder in extrem hoher Auflösung. CamSplitter 2 teilt die Kameraansicht in Kacheln, rendert sie einzeln und setzt das Ergebnis automatisch wieder zusammen — aus Renderings, die Blender sonst zum Absturz bringen würden, werden Renderings, die auf handelsüblicher Hardware zuverlässig fertig werden.
Wie das Kachel-Rendering funktioniert
Statt ein einziges großes Bild auf einmal zu berechnen, teilt CamSplitter die Kameraansicht in ein Raster kleinerer Kacheln auf — ein 4×4-Raster zum Beispiel sind 16 einzelne Kacheln. Jede Kachel wird für sich gerendert und anschließend automatisch zu einem finalen Gesamtbild zusammengesetzt. Der Effekt: Renderings mit 20.000 × 20.000 Pixeln und mehr werden möglich, ohne VRAM oder Arbeitsspeicher zu sprengen — auch bei starker adaptiver Subdivision und Displacement.
Weil jede Kachel unabhängig verarbeitet wird, kann CamSplitter genau dort weitermachen, wo es aufgehört hat. Render N Missing behält jede geprüft fertige Kachel und rendert nur, was noch offen, fraglich oder fehlgeschlagen ist. Das rettet Stunden an Renderzeit nach einem Absturz, einem Neustart oder einer abgebrochenen Sitzung.
Hi-Res-Showcase: 15.360 × 8.640 Pixel mit CamSplitter gerendert
Dieses Bild wurde mit 15.360 × 8.640 Pixeln gerendert — eine Auflösung jenseits dessen, was eine einzelne GPU in einem Durchgang schafft, erreicht durch das Aufteilen der Kameraansicht in Kacheln, die einzeln gerendert werden. Weil jede Kachel unabhängig ist, genügt es, wenn sich nur ein Bereich im Bild ändert — etwa der Garten —, nur die betroffenen Kacheln neu zu rendern, nicht das ganze Bild.
Scrollen zum Zoomen, Ziehen zum Schwenken — am Handy: Pinch zum Zoomen, ein Finger zum Schwenken.
Die Renderlast sehen, bevor gerendert wird
Ein hochauflösendes Rendering scheitert selten am ganzen Bild — meist sind es einzelne Bereiche, die ungewöhnlich teuer sind: zu viele subdivierte Objekte, starkes Displacement, eine überdimensionierte Textur. CamSplitters Analyse-Werkzeuge machen diese Hotspots sichtbar, bevor ein mehrstündiges Rendering losgeht.
Grid- und High-Resolution-Heatmap
Zwei klassische Heatmap-Ansichten färben die Szene nach geschätzten Renderkosten ein — von kühlem Blau (leicht) bis heißem Rot (aufwendig) —, basierend auf der Bildschirmfläche jedes Objekts, Polygon- und Mikropolygonzahl, aktiven Modifiern, Displacement-Stärke und Array- oder Instanz-Wiederholungen. Die Grid-Heatmap zeigt, welche Kacheln am aufwendigsten sind, damit sich entscheiden lässt, ob ein Rendering weiter aufgeteilt werden sollte. Die High-Resolution-Heatmap zoomt ins Detailraster und zeigt Hotspots sogar innerhalb einer einzelnen Kachel.
Persistente 3D-Heatmap (seit 1.42)
Ein Klick im Viewport-Header, und die Renderlast der Szene erscheint als leuchtende Punktwolke im 3D-Raum. Sie bleibt beim Orbiten und Zoomen an ihrem Platz, funktioniert in jedem Shading-Modus (auch Solid) und legt sich wie ein Röntgenbild über alles. Zwei Darstellungen: additiv (dichter = heller) oder Absorption (dichter = dunkler rot). Die Halos haben eine reale Größe in Blender-Einheiten, sodass die Wolke in jeder Szene gleich lesbar bleibt. Solange die 3D-Heatmap aktiv ist, folgt ein Live-Lasthistogramm der Navigation in Echtzeit — beim Orbiten, Schwenken und Zoomen zeigen sich schmale Lastspitzen als eigene Merkmale der Kurve.
Object Tracker HUD
Das Object Tracker HUD legt sich über jedes Objekt im 3D-Viewport und zeigt Polygonzahl und Namen — auf einen Blick erkennbar, welche importierten Assets in einer großen Szene die eigentlichen Speicherfresser sind.
Neu in CamSplitter 2, Version 2.2
Version 2.2 bringt zwei Dinge zusammen: einen neuen Weg, die Kacheln zusammenzusetzen (gebaut für 2.1, das nie einzeln erschienen ist), und ein überarbeitetes Bedienfeld, das jederzeit zeigt, wo das Rendering steht, und sich in jedem Moment anhalten lässt.
Kontrolle während des Renderns
- Esc stoppt die laufende Kachel sofort. Jede Kachel rendert jetzt als normaler Blender-Render-Job. Esc beendet deshalb die aktuelle Kachel sofort statt erst danach. Die abgebrochene Kachel bleibt offen, alle fertigen Kacheln bleiben gespeichert, und „Render N Missing“ setzt dort wieder an. Einzelne Kacheln lassen sich genauso mit Esc anhalten.
- Die Oberfläche ist gesperrt, solange eine Kachel rendert. CamSplitter schaltet für jede Kachel Blenders Lock Interface ein, damit sich die Szene nicht mitten in einer Kachel ändert. In der 2-Sekunden-Pause zwischen den Kacheln ist die Oberfläche wie bisher frei.
- Kachelzustände auf einen Blick. Jede Kachel im Raster des Bedienfelds zeigt, ob sie fertig, fraglich, fehlgeschlagen oder noch offen ist, mit dem Grund direkt im Bedienfeld und einem Knopf, um sie neu zu rendern.
- Re-render All. Rendert nach einer Rückfrage alle Kacheln neu, etwa nachdem Materialien oder Licht geändert wurden.
- Kachel anklicken, bestätigen, rendern. Ein Klick auf eine Kachel ohne Datei fragt nach und zeigt Größe, geschätzte Last und Zustand. Shift+Klick rendert sofort.
- Fertige Kachel ansehen. Ein Klick auf eine Kachel, für die schon eine Datei vorliegt, bietet „View Tile“ und „Render Again“ an. „View Tile“ zeigt die Kacheldatei in Blenders Renderfenster.
- Schwerste Kacheln. Nach einem Heatmap-Scan bekommen bis zu drei der teuersten Kacheln einen Glutpunkt, dazu ein Knopf „Test heaviest“ für ein schnelles Probe-Rendering.
- Live-Fortschritt und Fertig-Karte. Die laufende Kachel pulsiert im Raster, eine kleine Fortschrittskarte sitzt in der Ecke des Viewports, und am Ende zeigt das Bedienfeld „Your image is ready“ mit Vorschau, Auflösung, Zeit und Knöpfen zum Öffnen von Bild und Ordner. Ein leiser Ton kann melden, dass das Bild fertig ist.
Neue Stitch-Engine
- Das Zusammensetzen läuft nicht mehr über den Compositor. CamSplitter setzt die Kacheln selbst zusammen, in Python mit OpenImageIO und OpenColorIO, beide bereits Teil von Blender. Compositor, Auflösung und Farbmanagement der Szene bleiben dabei unangetastet, ein leerer Compositor ist nicht mehr nötig. Die Kachellage bleibt pixelgenau wie in früheren Versionen (geprüft an 18 Raster-/Überlappungs-Kombinationen); Farben sind bitgleich zum alten Weg bei Standard, Filmic und Khronos PBR Neutral, bei AgX auf weniger als 0,5 % der Pixel höchstens einen 8-Bit-Schritt daneben. Die EXR-Ausgabe ist bitgleich.
- Gigapixel-Ausgaben streamen direkt auf die Platte. Der Speicherbedarf wächst nicht mehr mit der Größe des fertigen Bildes: Ein PNG mit 40.960 × 40.960 Pixeln (1,68 Gigapixel, 400 Kacheln, 1,5 GB Datei) war in 3 Minuten 21 Sekunden zusammengesetzt, mit einer Spitze von rund 470 MB über Blenders eigenem Grundbedarf. 25 Float-EXR-Kacheln zu einem Bild mit 10.000 × 10.000 Pixeln zusammenzusetzen brauchte 0,84 GB RAM und 3,3 s, auf dem alten Compositor-Weg 10,3 GB und 13,5 s (Blender 5.2).
- Eigene Compositor-Knoten laufen einmal, auf dem ganzen Bild. Effekte, die das ganze Bild brauchen (Vignette, Glare, Objektivverzerrung, Filmkorn), liefen sonst auf jeder einzelnen Kachel. CamSplitter hängt sie während der Kacheln ab und schickt danach das lineare Gesamtbild einmal durch eine Kopie des eigenen Node-Baums, in voller Auflösung, mit dem gewählten Ausgabeformat und Farbmanagement. Die Original-Knoten werden nie verändert.
- Der Compositor rechnet beim Zusammensetzen immer auf der CPU. In Blender 5 liefert der GPU-Compositor oberhalb von rund 67 Megapixeln stillschweigend kaputte Bilder und kann bei 10.000 × 10.000 abstürzen. Das Render-Gerät (Cycles/EEVEE) ist davon nicht betroffen.
- Lineares EXR-Master auf Wunsch. „Keep Linear EXR Master“ schreibt zusätzlich
<name>_linear.exr: das Gesamtbild als 32-Bit-Float linear RGBA vor jedem View-Transform, für Grading oder Re-Encoding ohne neues Rendering. - Fill Missing dort, wo es gebraucht wird. „Fill Missing Tiles“ steht jetzt direkt bei Recompose From Folder.
- Sauberere transparente Kanten. Halbtransparente Kanten vor transparentem Hintergrund (Film > Transparent) kamen bisher leicht zu dunkel heraus, weil der alte Weg die Pixel ein zweites Mal vormultiplizierte. Voll deckende und voll transparente Pixel waren nie betroffen.
- Der bisherige Weg bleibt verfügbar. Unter Advanced > Stitch Engine lässt sich auf „Compositor (legacy)“ zurückschalten. Kann die neue Engine eine Einstellung nicht abbilden, sagt CamSplitter das vor dem Rendern und wechselt automatisch, aber nur bei leerem Compositor; eigene Knoten werden nie gelöscht.
Behoben
- Die Szenenauflösung wird nach jedem Lauf zurückgesetzt, ob fertig oder abgebrochen, auch bei einer Renderauflösung unter 100 %.
- Kein Renderfenster je Kachel. Während eines Laufs stellt CamSplitter Preferences > Interface > Render In auf „Keep User Interface“ und stellt die eigene Einstellung danach wieder her.
Rendern, anhalten, fortsetzen
Kachelzustände
Das Raster im CamSplitter-Bedienfeld zeigt je Kachel einen Knopf. Sein Symbol verrät den Zustand, die Kopfzeile zählt mit, zum Beispiel „4 done · 1 unclear · 4 to go“. Gezeichnet wird das Raster bis 12 × 12 Kacheln. Bei größeren Rastern zeigt das Bedienfeld nur die Kachelzahl („Too many tiles to preview“), einzelne Kacheln rendert man dann unter Utilities > Single Tile.
- Fertig (grüner Haken): Die Kacheldatei liegt vor und passt zu den aktuellen Einstellungen.
- Fraglich (gelbes Fragezeichen): Eine Datei liegt vor, aber CamSplitter hat Zweifel. Die Datei ist leer, ihr Kopf ist nicht lesbar, ihr Pixelmaß passt nicht zum aktuellen Raster, sie trägt den alten Dateinamen ohne Rasterweite, oder sie wurde mit anderen Einstellungen gerendert (Auflösung, Overlap, Pixel-Seitenverhältnis, Kamera, Kameraposition, Brennweite oder Ortho-Scale, Shift, Sensor).
- Fehlgeschlagen (rotes Ausrufezeichen): Der letzte Versuch meldete einen Fehler, und seitdem ist keine neuere Datei entstanden.
- Offen (gestrichelter Ring): noch keine Datei.
Für fehlgeschlagene und fragliche Kacheln nennt eine kleine Karte unter
dem Raster den Grund und bietet „Retry Tile“ bzw. „Re-render“ an. Dafür
schreibt CamSplitter ein kleines Laufprotokoll,
camsplitter_run.json, in den Ausgabeordner. Es hält
Kamera- und Render-Einstellungen fest, keine Materialien und kein Licht.
Die Render-Knöpfe
- Render N Tiles, solange noch nichts fertig ist.
- Render N Missing, wenn ein Teil fertig ist: Geprüft fertige Kacheln bleiben, offene, fragliche und fehlgeschlagene werden gerendert. So setzt man auch einen angehaltenen Lauf fort.
- Render Again, wenn alle Kacheln fertig sind.
- Re-render All rendert alle Kacheln neu und ersetzt die vorhandenen Kacheldateien. Vorher kommt eine Rückfrage („Re-render All Tiles?“). Gedacht für geänderte Materialien oder geändertes Licht, denn solche Änderungen machen eine Kachel nicht fraglich.
- Rebuild Final Image erscheint, sobald für alle Kacheln eine Datei vorliegt, und setzt das Bild neu zusammen, etwa nach einer einzeln nachgerenderten Kachel.
Einzelne Kacheln und die schwersten Kacheln
Ein Klick auf eine Kachel öffnet einen kleinen Dialog mit Größe, geschätzter Last und Zustand. Hat die Kachel noch keine Datei, heißt er „Render tile 2,3?“, und „Render Tile“ startet sie. Liegt schon eine Datei vor (fertig, fraglich oder fehlgeschlagen mit älterer Datei), heißt er „Tile 2,3“ und bietet „View Tile“ und „Render Again“ an. „View Tile“ öffnet die Kacheldatei in Blenders Renderfenster und lädt dabei immer den aktuellen Stand von der Platte. „Render Again“ rendert die Kachel neu. Die Knöpfe „Retry Tile“, „Re-render“ und „Test heaviest“ öffnen denselben Dialog. Shift+Klick rendert sofort. Während eines Laufs wählt ein Klick die Kachel nur aus. Nach einem Heatmap-Scan durch die Kamera bekommen bis zu drei Kacheln mit mindestens dem 1,5-fachen der durchschnittlichen Last einen Glutpunkt, und das Bedienfeld zeigt eine Zeile wie „Heaviest: 2,3 (≈ 3.2x avg)“ mit dem Knopf „Test heaviest“. Die Last ist eine Schätzung aus der Dreieckszahl der Heatmap, keine Renderzeit.
Während des Renderns
Die laufende Kachel pulsiert im Raster, wartende Kacheln zeigen eine Uhr. Eine kleine Karte unten rechts im Viewport zeigt das Raster in Farbe, die aktuelle Kachel (zum Beispiel „Tile 2,2 · 5 / 9“), eine Schätzung der Restzeit und „Esc to stop“. Im Bedienfeld steht Blenders eigener Fortschrittsbalken der aktuellen Kachel. Output Folder, Grid Size, Overlap, Offscreen Dicing sowie die Bereiche Advanced und Utilities sind bis zum Ende des Laufs gesperrt.
Anhalten
- Esc stoppt sofort. Esc beendet die laufende Kachel sofort. Sie bleibt offen, alle fertigen Kacheln bleiben gespeichert.
- Stop After This Tile. Der rote Knopf im Bedienfeld hält vor der nächsten Kachel an. Solange eine Kachel rendert, nimmt Blenders Lock Interface keine Klicks an und blendet das X des Fortschrittsbalkens aus. Der Knopf ist dann gedimmt, darunter steht „Esc stops immediately.“ Er greift in der 2-Sekunden-Pause zwischen den Kacheln.
- Die 2-Sekunden-Pause bleibt. Zwischen zwei Kacheln wartet CamSplitter zwei Sekunden. Man sieht, wie die Kamera zur nächsten Kachel springt, und in diesem Moment greift „Stop After This Tile“.
Weiter geht es mit „Render N Missing“. Fertige Kacheln werden nicht noch einmal gerendert. Während eines Laufs erinnert das Bedienfeld daran: „Resume later: Render Missing.“
Wenn es fertig ist
Der Ausgabekasten wird zur Fertig-Karte: „Your image is ready“, eine Vorschau (bei Bildern bis 200 Megapixel), Auflösung, Kachelzahl, Zeit und Dateiname, dazu „Open Image“, „Show Folder“ und „Dismiss“. Ein leiser Ton kann melden, dass das Bild fertig ist. Er ist standardmäßig aus und lässt sich in den Add-on-Einstellungen („Soft Chime When Finished“) oder direkt auf der Karte einschalten.
Einstellungen im Überblick
- Stitch Engine (Advanced). „Python (no compositor)” (Standard) setzt die Kacheln ohne Compositor zusammen. „Compositor (legacy)” stellt das Verhalten von 1.x wieder her. Sinnvoll bei einer der unten genannten Grenzen.
- Apply User Compositor (Advanced, Standard an). Wendet den eigenen Compositor-Node-Baum einmal auf das fertige Gesamtbild an. Ausgeschaltet liefert CamSplitter das reine zusammengesetzte Bild.
- Compositor Size Limit (Advanced, Standard 60 Megapixel). Verhindert, dass Blenders speicherbasierter Compositor auf Gigapixel-Bildern läuft; er braucht für eine typische Glare- und Vignetten-Kette rund 1 GB RAM je 10 Megapixel. Über dem Limit schreibt CamSplitter ein lineares EXR-Master, die eigenen Knoten werden von Hand darauf angewendet. Dafür vorher Render Properties > Performance > Compositor > Device auf CPU stellen: Der GPU-Compositor von Blender 5 liefert oberhalb von rund 67 Megapixeln stillschweigend kaputte Bilder. Mit genug Arbeitsspeicher lässt sich das Limit anheben.
- Keep Linear EXR Master (Advanced). Schreibt zusätzlich zur normalen Ausgabe
<name>_linear.exr: das Gesamtbild vor jedem View-Transform. - Fill Missing Tiles (Utilities, bei Recompose From Folder). Füllt fehlende Kacheln mit Platzhaltern, statt mit einer Fehlermeldung abzubrechen.
- Soft Chime When Finished (Add-on-Einstellungen, Standard aus). Spielt einen kurzen, leisen Ton, wenn das fertige Bild bereitliegt.
Bekannte Grenzen
- Nur Image und Alpha überstehen den Compositor-Durchlauf. Andere Render-Passes (Depth, Normal, Mist, Cryptomatte und ähnliche) werden gemeldet, bleiben in der angewendeten Knoten-Kopie aber unverbunden.
- JPEG und WebP laufen über einen anderen Encoder (OpenImageIO statt Blenders eigenem). Verlustfreie Formate (PNG, TIFF, TGA, BMP, verlustfreies WebP, EXR) sind unberührt; JPEG weicht auf rund 3 % der Pixel um bis zu 8/255 ab. Das liegt an der verlustbehafteten Kompression, nicht am Zusammensetzen.
- Curve Mapping, Weißabgleich (Blender 4.3+), HDR-Bildschirmgeräte und einige Ausgabeformate (JPEG 2000, DPX, Cineon, IRIS, AVIF, Video-Container) kann die Python-Engine nicht abbilden. CamSplitter meldet das und wechselt zum Compositor, aber nur bei leerem Compositor.
- OpenEXR Multilayer wird als einlagiges EXR geschrieben. Das zusammengesetzte Bild hat ohnehin nur eine Ebene.
- Der alte Compositor-Weg ist in Blender 5.2 bei sehr großen Bildern nicht mehr pixelgenau. Bei 10.000 × 10.000 Pixeln weichen rund drei Viertel der Pixel um bis zu 0,003 ab, mit Alpha 0,99927 an den Kachelnähten (Blender 5.1.2 ist noch exakt). Die Python-Engine ist in beiden Versionen exakt; betroffen ist nur der Rückfallweg.
- Materialien und Licht gehören nicht zur Kachelprüfung. Nach solchen Änderungen Re-render All verwenden. Wird Re-render All mittendrin abgebrochen, liegen neue und alte Kacheln nebeneinander; dann Re-render All noch einmal laufen lassen.
- Mitten in der Kachel anhalten geht nur per Tastatur. Während eine Kachel rendert, ist die Oberfläche gesperrt; sofort anhalten geht mit Esc.
- Render In nach einem Absturz. Stürzt Blender mitten im Lauf ab und speichert die Einstellungen automatisch, kann Render In auf „Keep User Interface“ stehen bleiben. Öffnet F12 kein Renderfenster mehr, unter Preferences > Interface > Temporary Editors zurückstellen.
- Leichte Nähte zwischen den Kacheln können vom Denoising kommen. Der Denoiser arbeitet je Kachel für sich und sieht nicht über die Kachelgrenze hinweg, deshalb passen benachbarte Kacheln womöglich nicht ganz genau zusammen. Sind Nähte zu sehen, Denoising für das Kachel-Rendering ausschalten.
- Path Guiding kann minimale Helligkeitsunterschiede zwischen Kacheln verursachen. Path Guiding gibt es in Cycles nur beim Rendern mit der CPU. Es verändert, wie das Licht berechnet wird, dadurch kann die Helligkeit von Kachel zu Kachel leicht abweichen; Path Guiding ausschalten oder mit der GPU rendern.
Vorher: Version 1.42
- Persistente 3D-Heatmap in jedem Shading-Modus, additiv oder als Absorption, mit Halo-Größe in echten Weltmaßen, dazu ein Live-Histogramm der Last.
- Die Heatmaps folgen der Ansicht aus jedem Viewport-Winkel; durch die Kamera passen die Zellen genau zu den gerenderten Kacheln.
- Pixelgenaue Kacheln bei jeder Auflösung und physikalisch korrekte Tiefenunschärfe beim Kachel-Rendering.
Kompatibilität
CamSplitter 2 läuft in Blender 4.3 bis 5.2, mit Cycles und Eevee, installiert als Blender Extension (Edit > Preferences > Get Extensions > Install from Disk). Lizenziert unter der GPL (GPL-3.0-or-later), wie jedes Blender-Add-on.
Gebaut von CG-Mechanics
CamSplitter ist aus unserem eigenen Bedarf entstanden: Bei CG-Mechanics rendern wir regelmäßig technische Visualisierungen für Gebäudefassaden, Messeposter und großformatige Drucke — Auflösungen, die ein normales Blender-Rendering an seine Grenzen bringen. Wir setzen CamSplitter intern bei nahezu jedem großen Projekt ein; mit dem Verkauf ermöglichen wir anderen Studios und Freelancern, an derselben Grenze nicht zu scheitern, ohne das Werkzeug selbst bauen zu müssen. Was wir damit umsetzen, zeigt unsere technische Visualisierung.
Häufige Fragen
Was ist CamSplitter 2?
CamSplitter 2 ist ein Blender-Add-on, mit dem sich Renderings in extrem hoher Auflösung — 8K, 16K und mehr — auf handelsüblicher Hardware berechnen lassen. Es teilt die Kameraansicht in Kacheln auf, rendert sie einzeln und setzt das Ergebnis automatisch wieder zu einem Gesamtbild zusammen. Dazu kommen Analyse-Werkzeuge zur Renderlast (Grid- und High-Resolution-Heatmap, eine persistente 3D-Heatmap, ein Object-Tracker-HUD), die zeigen, wo ein Rendering teuer wird, bevor man sich darauf einlässt.
Was ist neu in Version 2.2?
Esc stoppt jetzt die laufende Kachel sofort, fertige Kacheln bleiben gespeichert. Das Raster im Bedienfeld zeigt jede Kachel als fertig, fraglich, fehlgeschlagen oder offen, Re-render All rendert nach einer Rückfrage alles neu, und eine Fertig-Karte zeigt das Ergebnis. Das Zusammensetzen läuft in Python ohne Compositor, schreibt Gigapixel-Bilder direkt auf die Platte und wendet eigene Compositor-Knoten einmal auf das ganze Bild an.
Welche Blender-Versionen und Render-Engines werden unterstützt?
Blender 4.3 bis 5.2, mit Cycles und Eevee. CamSplitter wird als Blender Extension installiert (Edit > Preferences > Get Extensions > Install from Disk).
Was kostet CamSplitter 2, und wo bekomme ich es?
CamSplitter 2 kostet 20 $ und wird ausschließlich über Superhive (ehemals Blender Market) verkauft — Button oben oder unten auf dieser Seite.