3 Punkte von GN⁺ 2024-03-05 | 1 Kommentare | Auf WhatsApp teilen
  • Dieses Experiment, das Motion Blur bis an seine „logische Grenze“ treibt, definiert Unschärfe neu, indem es den Unterschied zwischen Motion Smear des menschlichen Sehens und Bildschirmwiedergabe verringert, und wendet dies auf prozedurale Echtzeit-Animation an
  • In natürlichen Szenen integrieren die Zapfen der Netzhaut Lichtreize zeitlich, wodurch Unschärfe auf Rezeptorebene entsteht; bei Bildschirmen mit niedriger Framerate wirkt ein Video ohne Blur jedoch eher wie überlagerte Frames statt wie natürlicher Smear
  • Klassischer Motion Blur nähert sich natürlichen Szenen an, indem er das Zeitintervall eines Frames mittelt; bei schnellen Objekten können aber Diskontinuitäten bleiben, weshalb eine Shutter Function mit geringerer Gewichtung am Anfang und Ende natürlichere Ergebnisse erzeugt
  • Die Echtzeit-Shader-Implementierung vermeidet Multisampling und analytisches Raytracing, beschreibt bewegte Objekte stattdessen als Dichtefunktion in Koordinaten einschließlich Zeit und rendert das Zeitintegral per Volume Ray Casting
  • Der finale „Torusphere Accelerator“ versieht eine umlaufende Kugel und einen rotierenden Torus bis praktisch zu unendlicher Geschwindigkeit mit Blur; da es keine „motion-blurred Normals“ gibt, werden Oberflächennormalen separat interpoliert

Unterschied zwischen Bewegung in natürlichen Szenen und Bildschirmwiedergabe

  • Motion Blur war ursprünglich ein Film-Artefakt, das entsteht, wenn sich ein Motiv bewegt, während der Kameraverschluss geöffnet ist; nützlich wurde es aber, weil Videos dadurch wahrnehmungsmäßig natürlichen Szenen ähnlicher werden
  • In 3D und Animation müssen „eine Kamera simulieren“ und „natürlich aussehen“ nicht immer dasselbe Ziel sein
  • Um natürlichen Motion Blur zu verstehen, sind vier Fragen nötig
    • Wie nehmen wir Bewegung in natürlichen Szenen wahr?
    • Wie nehmen wir eine auf einem Bildschirm wiedergegebene Szene wahr?
    • Worin unterscheidet sich die Wahrnehmung in beiden Fällen?
    • Wie kann Video-Motion-Blur diesen Unterschied verringern?

Zeitliche Integration der Zapfen und Motion Smear

  • In heller Umgebung übernehmen die Zapfen die frühe Verarbeitung im menschlichen Sehen, und Phototransduktion geschieht nicht sofort
  • Die Verzögerung eines Lichtreizes lässt sich als zeitliche Glättung des Reizes modellieren
  • Das Beispiel der Goldfisch-Zapfen von Howlett et al. (2017) zeigt die Anzahl der in den Photorezeptor eintreffenden Photonen, eine Gewichtungsfunktion und den daraus resultierenden „effective stimulus“
  • Kombiniert man die Form dieser Gewichtungsfunktion mit bekannten Reaktionszeiten menschlicher Zapfen, lässt sich das wahrgenommene Bild aus der Eingangsszene simulieren
  • Das Ergebnis: Auch in natürlichen Szenen existiert bereits Motion Smear als natürliche Unschärfe auf Photorezeptor-Ebene
  • Die Beispielsimulation nimmt an, dass die beobachtende Person das Objekt nicht mit den Augen verfolgt, sondern auf einen festen Punkt blickt

Was klassischer Motion Blur bei Bildschirmvideos leistet

  • Betrachtet man einen Bildschirm mit begrenzter Bildrate, wirkt das wahrgenommene Bild eines Videos ohne Motion Blur nicht wie der erwartete Motion Smear, sondern wie überlagerte Frames
  • Bei einem Video mit Motion Blur zeigt jeder Frame nicht einen einzelnen Moment, sondern mittelt alle Momente des Zeitintervalls, das der Frame abdeckt
  • Das ähnelt einem Bild, das mit einer Kamera aufgenommen wurde, deren Verschluss während einer Frame-Dauer geöffnet ist
  • Das so wahrgenommene Bild ist dem Fall einer natürlichen Szene deutlich ähnlicher

Diskontinuitäten mit Shutter Functions reduzieren

  • Auch bei klassischem Motion Blur können bei bestimmten Objektgeschwindigkeiten Diskontinuitäts-Artefakte im Motion Smear verbleiben
  • Eine Shutter Function mittelt nicht das gesamte Frame-Intervall gleichmäßig, sondern gewichtet die Momente am Anfang und Ende des Frames geringer und die Momente in der Mitte stärker
  • Der Name stammt aus der Analogie zur Verschlusseffizienz von Blendenkameras; hier geht es jedoch nicht um Kamerasimulation, sondern um die Wahl einer Funktion, die den Wahrnehmungsunterschied zwischen Bildschirm und natürlicher Szene reduziert
  • Dieses Problem ähnelt stark dem Entwurf von Window Functions in der Signalverarbeitung, und populäre Window Functions liefern gute Ergebnisse
  • Nach subjektiven Testkriterien wird eine Shutter Function nützlich, wenn die Strecke, die ein Objekt während eines Frames zurücklegt, ungefähr seiner Breite entspricht
  • Bei niedrigen Geschwindigkeiten ist der Bedarf nicht groß, doch bei schnell bewegten Objekten wirkt es natürlicher, und auch Standbilder erscheinen glatter
  • Dieser Ansatz ist keine übliche Kamerasimulation, und die Zeitbereiche aufeinanderfolgender Frames können sich überlappen
    • Eine übliche Kamerasimulation hat keine zeitliche Überlappung zwischen Frames und verwirft oft die Momente zwischen Frames

„Unendlichen Motion Blur“ mit einem Echtzeit-Shader erzeugen

  • Die Zielanimation kombiniert eine umlaufende Kugel und einen rotierenden Torus und versieht beide bis praktisch zu unendlicher Geschwindigkeit mit Motion Blur
  • Um das Endergebnis interaktiv zu machen, wurde es als Echtzeit-Shader implementiert
  • Multisampling rendert pro Frame Szenen zu mehreren Zeitpunkten
    • Je höher die Objektgeschwindigkeit, desto proportional größer die benötigte Zahl an Samples
    • Für eine Animation mit „unendlicher Geschwindigkeit“ ist das ungeeignet
  • Analytischer Raytracing-Motion-Blur könnte ebenfalls eine Alternative sein
    • Bei Meshes gibt es einen Ansatz, Dreiecke in Prismen umzuwandeln
    • Ein rein analytischer Ansatz ist ebenfalls möglich, kann hier aber schwergewichtiger sein
    • Beide Ansätze benötigen für die Materialbehandlung weiterhin Multisampling
  • Die gewählte Implementierung ist eher ein Hack, den man „integrated volume motion blur“ nennen könnte
    • Ein bewegtes Objekt wird als Funktion dargestellt, die Koordinaten einschließlich Zeit entgegennimmt und für das Innere eine Dichte von 1 und für alles andere 0 zurückgibt
    • Integriert man diese Dichtefunktion über die Zeit, erhält man die motion-blurred Dichte für ein beliebiges Zeitintervall
    • Das Ergebnis wird per Volume Ray Casting gerendert
    • Der Ansatz ist nicht fotografisch exakt, kann aber sehr lange Trajektorien in Echtzeit verarbeiten

Motion-blurred Dichte einer umlaufenden Kugel

  • Eine umlaufende Kugel lässt sich in einem 2D-Schnitt auf das Problem eines umlaufenden Kreises reduzieren
  • Der Mittelpunkt des Kreises liegt in einem Abstand R vom Ursprung, der Radius des Kreises sei a
  • Bestimmt man in Polarkoordinaten für einen gegebenen Radius r den Winkel θ der Objektoberfläche, lassen sich die Zeitpunkte berechnen, zu denen ein Punkt in das Objekt eintritt und es wieder verlässt
  • Umläuft das Objekt mit Geschwindigkeit v, wird dies als Subtraktion des Zeitterms vt von der Winkelkoordinate ausgedrückt
  • Für einen Raumpunkt ist die Länge des Schnitts zwischen dem Zeitintervall I, in dem das Objekt vorhanden ist, und dem aktuellen Frame-Zeitintervall F die motion-blurred Dichte
  • Wendet man eine Shutter Function s an, integriert man das Produkt aus Dichte und s(t); wenn es eine Stammfunktion S von s gibt, lässt sich dies als S(max I) - S(min I) berechnen
  • Die in der Animation verwendete sinusbasierte Shutter Function hat einen Integralwert von 1 und ist so konstruiert, dass die Summe zu jedem Zeitpunkt stets 1 bleibt, selbst wenn sie sich auf der Zeitachse überlappt

Rotierender Torus und spiric section

  • Ein rotierender Torus wird nach demselben Verfahren behandelt wie die Kugel
  • Der vertikale 2D-Schnitt eines Torus heißt spiric section, auch Spiric of Perseus
  • Setzt man den minor radius des Torus auf a und den major radius auf b und nimmt an einer bestimmten Position c einen Schnitt, lässt sich der Innenbereich des Torus in Polarkoordinaten ausdrücken
  • Löst man den Oberflächenwinkel θ, erhält man je einen positiven und einen negativen Fall; der Bereich zwischen den beiden Grenzen wird als Dichte des solid torus verwendet
  • Die weiteren Schritte sind identisch mit der umlaufenden Kugel: Zeitintervall bestimmen und das Integral der Shutter Function anwenden

Der finale Torusphere Accelerator

  • Die finale Szene kombiniert Kugel und Torus und wird mit standardmäßigem Volume Ray Casting gerendert
  • Surface Normals benötigen zusätzliche Behandlung
    • Da es kein Konzept von „motion-blurred Surface Normals“ gibt, mischt die Implementierung die Normalen
  • Die Live-Animation unterstützt grundlegende Maus- und Touch-Interaktionen
  • Da sie möglicherweise nicht auf allen Geräten gut läuft, stellt die Seite oben auch ein vorgerendertes Video bereit
  • Der finale Shader ist auch auf Shadertoy zu sehen

Anschließende Punkte aus der HN-Diskussion

  • In der Hacker-News-Diskussion wurde Motion-Blur-Qualität auch als künstlerische Entscheidung betrachtet
  • Ebenfalls thematisiert wurde die Bedeutung von Farbraumkonvertierungen
  • Diskutiert wurde auch, wie sich Motion Blur in der Film-VFX historisch entwickelt hat
    • Der frühe CG-Film Jurassic Park wurde als Beispiel für die Nutzung einer physikalisch unmöglichen Box-Shutter-Function genannt
  • Motion Blur in Spielen bleibt weiterhin ein kontroverses Thema

1 Kommentare

 
GN⁺ 2024-03-05
Hacker-News-Meinungen
  • Der Kompromiss beim Rendern oder Aufnehmen von Motion Blur bei endlicher Bildwiederholrate besteht darin, dass das Publikum einem sich bewegenden Objekt auf dem Bildschirm mit den Augen folgen kann.
    In der Realität wird das Objekt dadurch scharf. Deshalb müsste man entweder die Augenbewegung verfolgen und Blur entsprechend der relativen Bewegung anwenden oder Motion Blur bei unendlicher Bildwiederholrate ganz abschaffen. Beides ist mit heutiger Technik nicht praktikabel, daher wird es immer irgendwo etwas unnatürlich wirken. Gute Regisseure oder Game-Designer wählen Verschlusszeit oder Rendering-Blur danach aus, wie sie erwarten, dass sich die Augen des Publikums bewegen.

    • Allerdings akzeptiert das Publikum den Shutter Angle bereits als Teil der visuellen Sprache. Ein enger Shutter Angle vermittelt zum Beispiel den scharfen Look eines Rap-Videos, ein langer Shutter Angle ein verträumtes Retro-Gefühl.
      Wenn gerenderte Inhalte nicht dieselbe visuelle Sprache sprechen können, fehlt ihnen unabhängig von der Bildwiederholrate ein Werkzeug. Natürlich gibt es gewisse Grenzen; wenn man bei 400 Hz den Unterschied wirklich klar sieht, wäre das ziemlich erstaunlich.
      Interessant an gerenderten Inhalten ist, dass man das weiter ausbauen kann. Man kann zum Beispiel mit Konzepten spielen, die man bereits verstanden zu haben glaubt, etwa einem Shutter Angle, der länger ist als die Dauer eines Frames.
    • Eine Alternative zur unendlichen Bildwiederholrate besteht darin, jeden Frame nur für einen Teil der normalen Frame-Zeit anzuzeigen. Also einzelne Frames schnell blitzartig anzuzeigen und den Rest schwarz zu lassen.
      Diese Methode senkt die maximale Bildschirmhelligkeit und braucht eine Mindest-Framerate, um Flimmern zu vermeiden, reduziert aber den Persistenz-Blur, also den in der Realität nicht vorhandenen Eye-Tracking-Blur. Genau genommen müsste jeder Frame unendlich kurz angezeigt werden, um Tracking-Blur vollständig zu beseitigen, was unrealistisch ist. VR-Headsets verwenden dennoch solche Blitz-/Strobe-Verfahren.
      Das ist auch der Grund, warum CRT- und Plasma-Bildschirme eine deutlich bessere Bewegungsschärfe hatten als LCD oder OLED. Erstere zeigen jeden Frame kurz aufblitzend an, während Letztere nach dem Sample-and-Hold-Prinzip denselben Frame über die gesamte Frame-Dauer halten, bei 60 Hz zum Beispiel für 1/60 Sekunde. 60 FPS auf einem CRT können flüssiger wirken als 120 FPS auf einem OLED.
      In Spielen kann man mit Reprojektionstechniken auch viele zusätzliche Frames erzeugen. So lässt sich die tatsächliche Kamerabewegung näherungsweise darstellen, ohne dass die Engine massenhaft teure Frames rendern muss. Auch das wird in VR bereits eingesetzt, allerdings noch nicht bis zu sehr hohen Framerates. Dieser Artikel behandelt die Details gut:
      https://blurbusters.com/frame-generation-essentials-interpol...
      Da etwa 1000 FPS per Reprojektion ziemlich realistisch sein sollen, könnte sich das Problem des Tracking-Blur wohl lösen lassen, ohne die Bildschirmhelligkeit zu reduzieren.
    • Bewegte Objekte können schärfer werden, wenn jeder Frame nur für kürzere Zeit an einer festen Position angezeigt wird. Das heißt, man reduziert die MPRT, um zu verhindern, dass der angezeigte Frame verschmiert, wenn die Augen der Bewegung folgen.
      Das lässt sich über die Scan-Ausgabe von CRT/OLED umsetzen, meist zeilenweise, oder über LCD-Backlight-Strobing, meist als Vollbild. Wenn man bei 24 Hz jedoch jeden Frame nur kurz anzeigt, entsteht unerträgliches Flimmern, weshalb Filmprojektoren jedes Filmbild zwei- bis dreimal zeigten. Bei 50 Hz ist es gerade noch erträglich, daher verdoppelten einige europäische CRT-Fernseher 50-Hz-Material auf 100 Hz, was dazu führen konnte, dass bewegte Objekte doppelt erschienen. Für optimal flüssige Bewegung und minimale Augenbelastung bräuchte man idealerweise mindestens 70–75 Hz; dann wird es jedoch schwierig, mit 60 FPS aufgezeichnetes Material ohne Ruckeln oder Tearing anzuzeigen.
    • Genau. Bei der Hintergrundrecherche für diesen Artikel habe ich ein ziemlich gutes Paper gelesen, das genau das erklärt und eine Lösung vorschlägt, bei der die Augenbewegungen der Zuschauer vorhergesagt werden: Temporal Video Filtering and Exposure Control for Perceptual Motion Blur (Stengel et al., 2015)
    • Bei endlicher Bildwiederholrate kann man bewegte Bilder nicht wirklich scharf machen. Bei ausreichend hoher Bildwiederholrate kann man sich dem annähern, aber das Objekt kann sich zeitlich nur auf einem ruckelnden Pfad bewegen und passt deshalb nicht zur Augenbewegung.
  • Entgegen der Erwartung, dass es visuelle Medien realistischer wirken lässt, habe ich bei Spielen das Gefühl, dass es Videospiele wie eine billige Annäherung an einen übermäßig geschnittenen Film aussehen lässt.
    Bei sehr schnellen Bewegungen, bei Dingen, die sehr nah vorbeiziehen, oder besonders bei Bewegungen, die nicht aus der eigenen Perspektive stammen, ergibt es Sinn. Aber es wird bei Situationen wie „die Figur dreht sich schnell“ viel zu stark eingesetzt.
    Wenn man Kopf oder Augen ruckartig dreht, sieht man kein verschwommenes Bild, sondern ein neues Bild, und das Gehirn verwirft die Zwischendaten. Das merkt man, wenn man im Spiegel erst ein Auge ansieht und dann den Fokus auf das andere Auge verlagert. Sieht man, wie Augen oder Gesicht verschwimmen?
    Wenn man in Spielen beim Bewegen der Kamera Blur hinzufügt, verzögert das nur die Anzeige des neuen Sichtfelds. Es ist ablenkend und unrealistisch.

    • Dieser Test ist nicht ideal. Denn das Gehirn kompensiert Sakkaden und zensiert dabei kurzzeitig den Input. Außerdem gibt es eine eingebaute Bewegungsstabilisierung, mit der man beim Gehen Straßenschilder lesen kann.
      Ein besserer Test ist, einen Finger oder die Hand sehr schnell zu bewegen und dabei hinzusehen. Man wird Motion Blur sehen, während sich der Finger bewegt. In manchen Fällen sieht man durch Nachbilder sogar einzelne „Frames“. Wenn man zum Beispiel moderne Auto-Rücklichter betrachtet, leuchten die LEDs nicht durchgehend, sondern flackern per PWM sehr schnell. Bewegt man nachts die Augen, während man auf Rücklichter schaut, sieht man deshalb kein verschwommenes Bild, sondern eine Abfolge von Punkten. Wenn man diesen Trick kennt, kann man analoge Beleuchtung und PWM daran unterscheiden, ob es verschwommen oder als unterbrochene Punkte erscheint.
    • Ich finde, Motion Blur sollte wie Mausbeschleunigung eingesetzt werden. Wie gesagt: Wenn man den Kopf schnell dreht, sollte das Bild scharf und sofort erscheinen.
      Wenn man aber im Auto sitzt oder in einem Spiel durch die Luft fliegt, kann das Bild während eines kurzen Blicks verzerrt sein. Erwartet wäre ein mit zunehmender Beschleunigung nachziehender Blur, und so ein Effekt kann schnelle Szenen deutlich spannender machen. Das Problem ist, dass Motion Blur fast überall miserabel implementiert ist.
    • Der Grund, warum Motion Blur in Spielen umstritten ist, liegt meist daran, dass die Umsetzung sehr schlecht ist.
      Die drei größten Sünden sind: Objekte zu weit zu verwischen, Dinge zu verwischen, die nicht verwischt werden sollten, und die gesamte Szene zu verwischen. Die dritte läuft letztlich auf die zweite hinaus, also sind es vielleicht eigentlich nur zwei Sünden. Am wichtigsten ist, dass Motion Blur subtil sein muss. Guter Motion Blur macht ein Spiel nicht verschwommen, sondern realistischer und flüssiger.
      Wenn sich ein Objekt zwischen zwei Frames um 50 Pixel bewegt, sollte die Blur-Breite 50 Pixel nicht überschreiten. Tatsächlich wären für einen dezenteren Effekt wahrscheinlich eher etwa 25 Pixel richtig. Aus irgendeinem Grund legen Rennspiele aber bei hoher Geschwindigkeit einen massiven radialen Blur über die gesamte Szene, und meiner Meinung nach ruiniert das das Bild.
      Ebenso sollten Objekte, die sich relativ zur Kamera nicht bewegen, keinen Motion Blur haben. Viele Spiele machen genau hier Fehler. Beim Drehen wird die Szene per Postprocessing verwischt. Bei einer komplett statischen Szene ergibt das Sinn und ist rechnerisch sehr effizient. Wenn man sich aber dreht, um ein Objekt zu verfolgen, darf das verfolgte Objekt nicht verschwimmen. Wenn in einem Rennspiel ein Auto neben mir mit derselben Geschwindigkeit fährt, sollte dieses Auto nicht verwischt werden.
      Eine sichere Methode für korrekten Motion Blur ist, mehrere vollständige Frames nacheinander zu rendern und anschließend zu mischen; damit es gut aussieht, braucht man aber sehr viele Samples. Sonst sieht etwa eine vertikale Linie, die über den Bildschirm fliegt, nicht wie ein weicher Blur aus, sondern wie eine Abfolge vertikaler Streifen.
      Am besten ist vermutlich ein hybrider Ansatz: jedes Objekt der Szene separat rendern und je nach relativer Bewegungsrichtung zur Kamera pro Objekt einen Postprocessing-Blur anwenden. Allerdings kann die Behandlung der Z-Reihenfolge zu einem großen Problem werden.
    • In Videospielen hilft Motion Blur dabei, niedrige Frameraten zu kaschieren. Besonders bei 30 FPS ist er fast nötig, und auch bei 60 FPS ist er in Ordnung.
      In den seltenen Fällen, in denen ich ein Spiel mit 120 FPS spielen konnte – der Projektor war leider auf 60 Hz beschränkt –, habe ich die Variante ohne Motion Blur bevorzugt.
    • Tatsächlich sieht man nicht einfach ein neues Bild, sondern eine gewisse Menge an Details, und das Gehirn schreibt die Historie dessen, was man gesehen hat, so um, dass Kontinuität entsteht.
  • Eine gute Übersicht findet sich in [1].
    Interessanterweise verwendeten bis zum klassischen Paper [2] über die Modellierung der Shutter Efficiency aus dem Jahr 2005 alle Renderer, die in der VFX-Produktion eingesetzt wurden, einen Box Shutter. Das heißt: Der Shutter öffnet sich sofort, bleibt für die vorgegebene Zeit offen und schließt sich dann sofort wieder.
    Wenn man in Filmen wie „Jurassic Park“ oder „The Mask“ Szenen mit extremem Motion Blur sieht, dann ist das PhotoRealistic RenderMan mit Box Shutter.
    Die erste 1:1-Implementierung der Parametrisierung aus [2] in der Praxis erfolgte im selben Jahr wie die Veröffentlichung des Papers in [3] und ist bis heute unverändert. Zum ersten Mal verwendet wurde sie in „Charlotte's Web“, und zwar nur für die Spinnenfigur, die Rising Sun Pictures mit [3] erstellt hatte.
    Pixar fügte sie einige Jahre später ebenfalls hinzu, trieb es in [4] aber etwas zu weit. Heutzutage haben die meisten Offline-Renderer diese Funktion und nennen sie Shutter Curve.
    [1] O. Navarro et al.: Motion Blur Rendering: State of the Art (https://citeseerx.ist.psu.edu/doc_view/pid/fc23fb525cafa8fe6...)
    [2] Stephenson, Ian: Improving Motion Blur: Shutter Efficiency and Temporal Sampling (https://staffprofiles.bournemouth.ac.uk/display/journal-arti...)
    [3] https://www.3delight.com/, siehe insbesondere https://nsi.readthedocs.io/en/latest/nodes.html
    [4] https://renderman.pixar.com/resources/RenderMan_20/cameramod...

  • Die Demo scheint im sRGB-Farbraum berechnet zu sein. Das heißt, sie verwendet nichtlineare Helligkeitswerte, und daher dürfte der Großteil des unnatürlich wirkenden Verwischens kommen.
    Wenn man ein physikalisches Phänomen simulieren will, sollte man mit linearen Helligkeitswerten arbeiten und erst ganz am Ende nach sRGB konvertieren.
    Es könnte anders sein, wenn die nichtlinearen Effekte der menschlichen Wahrnehmung das vollständig ausgleichen, aber dann sollte dieser Punkt zumindest erwähnt werden.

    • Danke für den Hinweis. In anderen Grafik-Anwendungen habe ich Farbraum-Konvertierung gemacht, aber offenbar habe ich die Lektion nicht richtig gelernt.
      Ich werde das noch einmal prüfen und, falls es stimmt, die interaktiven Abbildungen und den Text aktualisieren. Der zentrale „torusphere“-Shader dürfte in Ordnung sein, weil der Motion Blur dort unrealistisch und von Hand angepasst ist; die ersten paar interaktiven Abbildungen wenden die Theorie aber direkt an, daher trifft dieser Hinweis auf sie zu. Insgesamt denke ich trotzdem nicht, dass er die Kernidee des Textes entkräftet.
    • Mir ist aufgefallen, dass das Gamma völlig falsch ist. Weil die Abbildungen keinen als weich wahrgenommenen Motion Blur erzeugen, untergräbt das den eigentlichen Zweck des Artikels. Es hätte deutlich besser sein können.
    • Es ist überraschend, dass der Autor einen so wichtigen Punkt wie den linearen Farbraum übersehen hat. Andererseits unterstützt selbst Adobe 2024 lineare Verarbeitung gerade erst so halbwegs, also ist es nicht völlig ungewöhnlich.
  • Die Torus-Demo ist wirklich großartig. Interessant ist, wie hohe Frameraten die Wahrnehmung von Blur verändern.
    Ich nutze ein 240-Hz-Display, und in Abbildung 5 sehe ich bis etwa 12 rad/s keine voneinander getrennten Kreise. Selbst bei 40 rad/s kann ich während der Bewegung keinen Unterschied zwischen der traditionellen Shutter- und der Sinus-Shutter-Option wahrnehmen.
    Allein wegen der Glätte der Mausbewegung und der geringen Latenz kann ich 240 Hz sehr empfehlen. Zu einem 60-Hz-Mauszeiger zurückzukehren ist wirklich, wirklich schwer.

    • Ich habe sowohl ein 4K-24-Zoll-Display, eines von der Sorte „wenn man Retina nutzt, kann man nicht mehr zurück“, als auch ein 144-Hz-Display ausprobiert, aber ich verspüre keinen Drang, mein Haupt-Setup aus drei alten 24-Zoll-Displays mit 1920x1200 und 60 Hz aufzurüsten.
      Manche Leute interessiert das wirklich nicht. Auch Debatten wie Input-Lag oder die heiligen Kriege um Terminal-Emulatoren verstehe ich nicht so recht. Ich merke keinen Unterschied zwischen Arbeiten auf der Framebuffer-Konsole und Arbeiten über ssh mit zusätzlichen 50 ms.
      Den Unterschied zwischen 30 FPS und 60 FPS in Spielen kann ich erkennen, aber nur, wenn ich bewusst darauf achte. Solange es stabil ist und nicht zwischen beiden Werten hin und her springt, ist es mir ziemlich egal.
    • In meinem Fall stimme ich zu, dass sich ein 144-Hz-Cursor flüssig anfühlt. Trotzdem habe ich keinerlei Problem damit, zu einem 60-FPS-Cursor zurückzugehen.
      Allerdings frage ich mich, ob Interfaces mit weicheren Übergängen stabiler wirken und ob hohe Bildwiederholraten mit der Zeit vielleicht den mentalen Zustand beeinflussen.
  • Wenn der Torus und die hintere Kugel durch Motion Blur entstehen, müssten sie dann nicht teilweise transparent sein? Es fühlt sich seltsam an, weil sie irgendwann wieder undurchsichtig zu werden scheinen.

    • Stimmt. Das Konzept der torusphere ist physikalisch unmöglich. Da alles eine Schleife ist, hat das Objekt nicht einmal eine theoretische Substanz; es besteht vollständig aus künstlich verdicktem Motion Blur.
      Deshalb lautet der Titel auch motion blur all the way down.
    • Es wird eindeutig zwischen Kugel und Torus und dann wieder zwischen Torus und Kugel geblendet. Sonst würde es mit der Zeit immer weiter verblassen.
    • Ist Licht diskret oder kontinuierlich?
    • Ein unendlich schnell bewegtes oder springendes Objekt könnte meiner Meinung nach nicht transparent werden. Es würde zwangsläufig jeden Lichtstrahl blockieren, der seinen Pfad kreuzt.
      Allerdings sollte das Licht, das ein bewegtes Objekt abgibt, geringer sein als bei einem ruhenden Objekt. Daher müsste das Objekt mit zunehmender Strecke immer dunkler werden.
  • Das ist ein Versuch, sich vom Simulieren einer Filmkamera zu lösen und stattdessen das menschliche visuelle System zu simulieren. Das ist eine nützliche Richtung.
    Es bedeutet, sich vom Nachahmen alter Technik zu entfernen und der Realität einen Schritt näher zu kommen. Shutter-basierter Motion Blur könnte ebenso verschwinden wie Sepia-Abzüge, 16-FPS-Schwarzweißfilme oder elliptische Räder, die durch mechanische Shutter entstehen.

    • Gib Bescheid, wenn es eine Technologie gibt, die die tatsächliche Leistung der Sonne auf einem Fernsehbildschirm rendern kann.
      Die Wiedergabe der Realität ist nicht das Ziel. Denn sie ist nicht erreichbar.
  • ambient.garden ist gerade auf der Frontpage gelandet, vermutlich deshalb ist auch dieser Artikel hochgekommen. Beim erneuten Lesen habe ich das Gefühl, dass es eigentlich zwei Artikel hätten sein sollen.
    Den ersten Teil mag ich immer noch. Er geht angemessen darauf ein, was Motion Blur ist und was er theoretisch sein sollte. Der zweite Teil ist eine etwas wilde, extrem komprimierte Erklärung dazu, wie der Shader für eine bestimmte Motion-Blur-basierte „torusphere“-Animation funktioniert. Dieser Teil ist zumindest für mich vor allem deshalb nützlich, weil er verhindert, dass der Code mir zu diesem Zeitpunkt völlig unverständlich wird. Rückblickend fühlt sich der Übergang zwischen den beiden Teilen eher an wie ein Sprung in einen zugefrorenen See. Entschuldigung.

    • Beim Lesen hatte ich das Gefühl, dass Motion Blur zunächst sauber als Funktion des Belichtungsintervalls, also des Shutter Angle, erklärt wird und es dann plötzlich in den wahnsinnigen Bereich eines sehr seltsamen Spezialfalls springt.
      Gut zu wissen, dass es nicht nur an dem Glas Wein lag, das ich gerade getrunken hatte.
      Ich habe ein paar Mal mit Motion Blur als Projektionsfunktion einer vierdimensionalen Extrusion herumgespielt, aber im realen Kontext von Video und Texturen wird das im Vergleich zu Hardware-Sampling mit Caching unpraktisch. Trotzdem bringt mich dieser Artikel auf den Gedanken: „Vielleicht probiere ich es genau noch einmal.“
  • Die Echtzeit-Vergleichsdemo ist enorm beeindruckend. Bis zu diesem Punkt hatte ich beim Mitlesen im Kopf das Gefühl, es „verstanden“ zu haben, aber als man Motion Blur ein- und ausschalten konnte, wurde der Unterschied wirklich offensichtlich.

  • Nachdem ich motion blur all the way down gesehen habe, musste ich aus irgendeinem Grund sogar an Stringtheorie, Atome und daran denken, wie das Universum entstanden ist.

    • Eine interessante Metapher. Elektronenschalen werden manchmal als Wahrscheinlichkeitsdichtewolken beschrieben. Die Schattierung steht dabei ungefähr für die Wahrscheinlichkeit, ein Elektron an diesem Punkt zu finden, wenn man die Zeit anhält.
      Natürlich wird es immer seltsamer, je tiefer man geht.