2 Punkte von GN⁺ 2024-02-29 | 1 Kommentare | Auf WhatsApp teilen

PGA im Test

  • PGA (Projektive Geometrische Algebra) erhält in den Communities für Computergrafik und Machine Learning zunehmend Aufmerksamkeit.
  • In der klassischen 3D-Grafik war der Einsatz von PGA bisher begrenzt, doch das Projekt „Look, Ma, No Matrices!“ will den Anwendungsbereich erweitern, indem es PGA in moderne 3D-Engines integriert.
  • Das Projekt betont, dass es nicht darum geht, bestehende Technologien zu ersetzen, sondern dass eine grundlegende Neubetrachtung nötig ist, um das Potenzial von PGA auszuschöpfen.

Einführung

  • In der Computergrafik spielen Matrizen eine äußerst wichtige Rolle.
  • Heutige GPUs sind programmierbar und nicht mehr an eine feste Funktionspipeline gebunden, wodurch die Voraussetzungen für den Einsatz von PGA gegeben sind.
  • Matrizen eignen sich gut zur Darstellung linearer Transformationen, doch PGA-Motoren können euklidische Bewegungen mit geringerem Rechen- und Speicheraufwand kodieren.

FPGA: schnelles PGA!

  • Der Beitrag erklärt die grundlegenden Operatoren von PGA sowie die erforderlichen Techniken für CPU und GPU im Detail.
  • Die Basisvektoren und das Speicherlayout von PGA wurden so gewählt, dass bei der Verarbeitung von Grafikdaten möglichst wenige Umwandlungen nötig sind.
  • Die Datenstrukturen von PGA lassen sich in einfache Shader-Strukturen übersetzen, sodass Berechnungen mit eingebauten Typen beibehalten werden.

Geometrische Operatoren gewinnen

  • Die Komposition von Transformationen in PGA verwendet das geometrische Produkt, das effizienter ist als Matrixmultiplikation.
  • Der Sandwich-Operator, der zur Transformation von Punkten und Richtungen benötigt wird, spielt in PGA eine wichtige Rolle.
  • Die Normalisierung und Quadratwurzel-Operationen von PGA-Motoren sind zentrale Operationen in PGA und lassen sich effizient implementieren.

Weg von der Matrix

  • Die Interaktion mit bestehendem Content bedeutet, dass Matrizen in ihre PGA-Äquivalente umgewandelt werden müssen.
  • Im Gegensatz zu 4x4-Matrizen enthalten PGA-Motoren keine Skalierung; daher wird gleichmäßige Skalierung verfolgt, indem die Gesamtskala jedes Elements mit der Skalierung des Elternobjekts multipliziert wird.
  • Ungleichmäßige Skalierung ist komplexer, wird aber meist nur auf Leaf-Nodes angewendet.

Forward Rendering

  • Ein Forward Renderer transformiert Mesh-Geometrie und bestimmt, welche Pixel von jedem Dreieck abgedeckt werden.
  • Modell-, View- und Projektionsmatrizen werden durch PGA-Motoren ersetzt, und im Vertex Shader werden die für Tangent-Space-Normal-Mapping nötigen Transformationen ausgeführt.
  • Der PGA-Ansatz zeigt, dass sich Mesh-Vertices mit nahezu denselben Rechenkosten transformieren lassen wie bei der Verwendung von 4x4-Matrizen.

Meinung von GN⁺

  • Das Projekt „Look, Ma, No Matrices!“ präsentiert eine interessante Alternative zum bestehenden matrixbasierten Rendering. Der neue Ansatz zur Verarbeitung von Transformationen in 3D-Grafik mit PGA könnte Innovationen im Bereich Computergrafik anstoßen.
  • Für Entwickler, die an klassische Matrixoperationen gewöhnt sind, kann diese Technik jedoch eine neue Lernkurve erfordern, was in der frühen Einführungsphase eine Hürde sein könnte.
  • Vergleichbare Projekte oder Produkte in der Branche, die ähnliche Funktionen bieten, sind Grafik-APIs wie OpenGL oder DirectX, die jedoch traditionelle matrixbasierte Ansätze verwenden.
  • Bei der Einführung von PGA sollten Kompatibilität mit bestehenden Codebasen, Performance-Optimierung und Schulung der Entwickler berücksichtigt werden.
  • Die Vorteile einer Entscheidung für PGA können in besserer Speicher- und Recheneffizienz liegen, hängen jedoch von der Integration in bestehende Systeme und vom Verständnis der Entwickler für PGA ab.

1 Kommentare

 
GN⁺ 2024-02-29
Hacker-News-Kommentare
  • Empfehlung für Freya Holmérs Einführungsvideo zur Geometrischen Algebra

    • Nützlich für alle, die sich für 3D-Grafik interessieren, insbesondere für Spline-/Bézier-Kurven
    • Der Ansatz über Clifford-Algebra wirkt intuitiver als lineare Algebra
    • Link zu Freya Holmérs Video
  • Verständnis der Geometrischen Algebra

    • Geometrische Algebra ähnelt der Polynom-Multiplikation, aber die Reihenfolge der Multiplikation ist wichtig und es gibt eine ungewöhnliche Multiplikationstabelle (i*i = 1, i*j = -j*i)
    • Das geometrische Produkt zweier Vektoren umfasst das Skalarprodukt (dot product) und das Kreuzprodukt (cross product), lässt sich aber auf mehr Dimensionen verallgemeinern
    • In der Geometrischen Algebra wird dies als wedge product bezeichnet
    • Wer dieses Konzept versteht, kann geometrische Probleme wie die Herleitung von Rotationsformeln leichter lösen
  • Verschiedene Ansätze zur Rotationsinterpolation

    • Es gibt verschiedene Methoden wie Geometrische Algebra, Quaternionen und Matrix-Interpolation, aber nach der Optimierung ist der Code meist ähnlich
    • Geometrische Algebra scheint der konsistenteste und leistungsfähigste Ansatz zu sein, wirkt anfangs aber fremd und schwer verständlich
    • Die meisten verwenden Quaternionen und beklagen sich gleichzeitig darüber, dass sie sie nicht verstehen
  • Materialempfehlungen zur Geometrischen Algebra

  • Im Rest der Seite ist das Modell zu aktiv, wodurch die Mathematik schwer zu verstehen ist

  • Kritik an der Komplexität der Geometrischen Algebra

    • Wenn man nicht aufpasst, entstehen viele gemischte Elemente, und für einen n-dimensionalen Raum können 2^n Terme nötig sein
    • Für die Behandlung von Geometrie (inneres Produkt) scheint sie besser geeignet zu sein, aber die Verwendung von wedge product und Hodge-Stern (oder musikalischem Isomorphismus) könnte besser sein
    • Der praktische Nutzen der Geometrischen Algebra wird infrage gestellt
  • Bitte, die Abkürzung PGA (Projective Geometric Algebra) beim ersten Auftreten zu definieren

  • Frage nach der GPU-Effizienz von Algorithmen der Geometrischen Algebra

    • Da GPUs für Matrixoperationen optimiert sind, stellt sich die Frage, ob die Vorteile der Geometrischen Algebra dadurch verloren gehen
  • Der Artikel ist interessant und liest sich angenehm; kein Spezialinteresse, aber der Text ist ansprechend

  • Es wird eine Erklärung der Lie-Algebra-Theorie für Grafikberechnungen benötigt