About the Author: Stephan

Wenn man im 3D-Bereich arbeitet, kommt irgendwann der Punkt, an dem „hochauflösend“ nicht mehr reicht.
Wir bei CG-Mechanics.de stehen regelmäßig vor Aufgaben, bei denen Visualisierungen auf Leinwänden, Gebäudefassaden oder Großpostern landen – also Auflösungen, die in Blender schlicht nicht mehr stabil gerendert werden können.

Selbst leistungsstarke Workstations geraten dabei an ihre Grenzen:
Adaptive Subdivision frisst Speicher, Displacement vervielfacht Polygonzahlen, und ein einziger Abbruch kann Stunden oder Tage an Berechnungen vernichten.
Das war der Moment, in dem wir sagten: „Wenn es kein Tool gibt, das das zuverlässig löst – bauen wir eben eins.“

So entstand der CamSplitter.

 

Segmentiertes und sequenzielles Rendering in Blender

 

 

Die Idee hinter CamSplitter

Das Grundprinzip ist einfach:
Anstatt ein riesiges Rendering auf einmal zu berechnen, teilt der CamSplitter die Kameraansicht in viele kleine Bildsegmente – sogenannte Tiles.
Diese werden nacheinander gerendert und anschließend automatisch zu einem Gesamtbild zusammengesetzt.

Das klingt simpel, hat aber eine enorme Wirkung:
Plötzlich sind Renderings mit 20 000 × 20 000 Pixeln möglich – ohne dass der Rechner in die Knie geht.
Und weil jede Kachel einzeln verarbeitet wird, kann Blender bei Bedarf sogar fortsetzen, wenn ein Render abgebrochen wurde.

Der CamSplitter merkt sich, welche Teile bereits fertig sind, und setzt exakt dort fort.
Wir nennen das den Continuous-Mode – und er hat uns schon oft Stunden gerettet.

 

Warum ein einfaches „Tile Rendering“ nicht reicht

Es gab bereits Tools, die die Kamera segmentieren konnten.
Aber sie waren entweder zu simpel, zu fehleranfällig oder zu unflexibel für unsere Zwecke.
Wir wollten ein System, das:

  • intelligent mit Speicher umgeht,
  • unfertige Tiles automatisch wieder aufnimmt,
  • bei Bedarf Teilbereiche mehrfach rendert (etwa für Tests),
  • und sogar analysiert, wo die eigentlichen Problemzonen liegen.

Aus dieser letzten Anforderung entstand das Herzstück des Add-ons – die Heatmap-Analyse.

 

Die Heatmap – ein Blick ins Innere der Renderleistung

Ein High-Res-Render scheitert selten am gesamten Bild.
Meist sind es einzelne Bereiche, die besonders komplex sind:
Eine Stelle mit zu vielen Subdivision-Objekten, übermäßigem Displacement oder einer zu hohen Texturauflösung.
Diese Hotspots sind normalerweise unsichtbar – bis Blender plötzlich einfriert.

Die Heatmap macht sie sichtbar.

 

 

Sequenzielles Rendern in Blender mit CamSplitter 2

 

 

Wie die Heatmap funktioniert

Man kann sich die Szene wie ein thermisches Bild vorstellen:
Jeder Bereich des Viewports wird analysiert und nach seiner geschätzten Rechenlast eingefärbt.
Blaue Flächen stehen für leichte, rote für extrem rechenintensive Bereiche.

Um das zu berechnen, betrachtet der CamSplitter jedes Objekt im Verhältnis zur Kamera:

  • Wie groß ist seine Projektion auf den Bildschirm?
  • Wie viele Polygone (und Mikro-Polygone durch Subdivision) trägt es bei?
  • Welche Modifier vervielfachen die Geometrie?
  • Wie stark wirkt Displacement?
  • Wie oft wiederholt sich das Objekt durch Arrays oder Collection-Instanzen?

Daraus entsteht eine gewichtete Schätzung:
Je größer die sichtbare Fläche und je dichter die Geometrie, desto „heißer“ der Bereich.

 

 

Thermale Ansicht in Blender mit CamSplitter 2 Addon

 

 

Adaptive Subdivision, Micropolygons und Render-Dichte

Ein Kernproblem moderner Renderer liegt in der adaptiven Subdivision – also darin, dass Blender die Geometrie dynamisch feiner unterteilt, wenn sie näher an der Kamera liegt oder stärker beleuchtet wird.

Der CamSplitter simuliert diesen Effekt analytisch:
Er schätzt, wie viele virtuelle Mikro-Polygone entstehen, wenn ein Objekt einen bestimmten Anteil des Bildschirms bedeckt und wie hoch die effektive Dicing-Rate (die Auflösung pro Pixel) ist.

Dadurch lässt sich ziemlich genau vorhersagen,
welche Bereiche beim Rendern den RAM oder die GPU zuerst überlasten werden – noch bevor der Render überhaupt startet.

Diese Daten werden in einem Raster gesammelt und ergeben das, was wir Heatmap-Grid nennen.

 

Vom Zahlenmeer zur Visualisierung

Damit diese Werte lesbar werden, wird das Grid mathematisch geglättet.
Das geschieht durch ein zweistufiges Glättungsverfahren, das dem Prinzip eines Gauß-Filters folgt – allerdings optimiert, damit es auch bei großen Bildern effizient bleibt.

Man kann sich das vorstellen wie eine „digitale Nachbarschaftsregel“:
Jeder Punkt im Raster bekommt einen kleinen Einfluss von seinen Nachbarn.
So verschwinden harte Übergänge, und Muster werden klarer erkennbar.

Das Ergebnis ist eine sanfte Farbverteilung – eine Art „Wärmebild“ des Rechenaufwands.
Und das Beste: Sie lässt sich im Blender-Viewport live einblenden, ohne das Rendering selbst zu beeinflussen.

 

High-Res-Heatmap vs. Grid-Modus

Der CamSplitter bietet zwei Ansichten, die unterschiedliche Zwecke erfüllen:

  1. Grid-Heatmap – zeigt grob, welche Tiles am aufwendigsten sind.
    Ideal, um zu entscheiden, ob ein Render in kleinere Segmente geteilt werden sollte.
  2. High-Resolution-Heatmap – analysiert die Szene im Detailraster und zeigt sogar innerhalb eines Tiles,
    wo die Geometrie-Dichte besonders hoch ist.

In der Praxis kann man so gezielt einzelne Bereiche testweise rendern, bevor man sich an das große Gesamtbild wagt.

 

Objekt-Analyse: Das Object-Tracker-HUD

Ein weiteres Werkzeug, das wir integriert haben, ist das sogenannte Object-Tracker-HUD – eine Overlay-Darstellung direkt im 3D-View.
Jedes Objekt wird hier farblich markiert und mit Kennzahlen versehen:
Polygonzahl und Objekt-Name

So lässt sich auf einen Blick erkennen, welche Modelle übermäßig aufwendig sind.
Für große Szenen mit vielen importierten Assets ist das Gold wert – man findet die „Speicherfresser“ sofort.

 

 

Object_Tracking_HUD

 

 

Mathematik als Werkzeug, nicht als Selbstzweck

Das eigentlich Spannende an der Entwicklung war, dass wir Blender nicht „gehackt“,
sondern seine eigene Logik mathematisch rekonstruiert haben:

Wie viel Fläche ein Objekt am Bildschirm einnimmt, lässt sich geometrisch bestimmen.
Wie stark Subdivision wirkt, lässt sich über Potenzen und Distanz-Faktoren abschätzen.
Und wie die Nachbarschaftsglättung funktioniert, basiert auf der gleichen Statistik,
die man in der Bildverarbeitung seit Jahrzehnten nutzt.

CamSplitter ist also kein reiner „Trick“, sondern ein analytisches Werkzeug,
das auf echter Geometrie- und Projektionstheorie basiert – umgesetzt in Blender-Sprache.

 

Von der Entwicklung zur täglichen Anwendung

Heute nutzen wir CamSplitter intern bei nahezu allen großen Projekten.
Er hat die Art verändert, wie wir Renderings planen:
Wir sehen nicht mehr nur das fertige Bild, sondern verstehen, wie teuer jeder Pixel ist.

Das erlaubt uns, gezielt zu optimieren –
ein Objekt etwas weiter von der Kamera zu rücken,
eine Texturauflösung zu halbieren oder ein Displacement durch eine Normalmap zu ersetzen.

Ergebnisse:

  • Renderzeiten um bis zu 60 % kürzer,
  • keine Abstürze mehr durch Speichermangel,
  • nachvollziehbare Lastverteilung über die gesamte Szene.

 

Fazit

Der CamSplitter ist kein klassisches „Addon“,
sondern ein Werkzeug zur Szenendiagnose und Stabilitäts-Sicherung.
Er kombiniert Kamera-Segmentierung, adaptive Speicherlogik und mathematische Heatmaps zu einem Workflow,
der große Renderings wieder beherrschbar macht.

Er ist aus echtem Bedarf entstanden – und mittlerweile fester Bestandteil unseres Produktionsalltags.
Was als internes Hilfsprojekt begann, ist heute ein Beispiel dafür,
wie man mit offenen Tools wie Blender professionelle, skalierbare Pipelines bauen kann.

Leave A Comment