40 Punkte von GN⁺ 2025-12-29 | 1 Kommentare | Auf WhatsApp teilen
  • Eine Online-Lernplattform, auf der man Computergrafik von den Grundlagen bis zu fortgeschrittenen Themen kostenlos lernen kann
  • Behandelt systematisch eine Vielzahl von Themen wie 3D-Rendering, mathematische Grundlagen, digitale Bildverarbeitung, prozedurale Generierung und Tooling
  • Die kurspraktische Struktur ist auf Übungen ausgerichtet, sodass man direkte Ergebnisse zuerst erlebt statt Theorie voranzustellen
  • Wird laufend erweitert, unter anderem mit einem Lernkurs zur Vulkan API (neu), einem 3D-Programming-Blog (geplant) und einem Buch (in Vorbereitung)
  • Eine kostenlose Lernressource, mit der Entwickler und Designer die Prinzipien und Implementierungstechniken der Computergrafik tiefgehend verstehen können

  • Scratchapixel ist eine Website, auf der man den gesamten Bereich der Computergrafik kostenlos lernen kann, unter dem Slogan „Learn computer graphics from scratch and for free“

Aktuell verfügbare Kurse

  • Grundlagen des 3D-Renderings (The Foundations of 3D Rendering)

    • Ein einsteigerfreundlicher Einführungskurs ins Rendering mit sinnvoller Reihenfolge
      • Verfolgt einen Ansatz, bei dem statt Theorie zuerst die Umsetzung konkreter Ergebnisse behandelt wird
    • Die wichtigsten Kursthemen sind:
      • Einführung in Ray Tracing, Rendering von 3D-Szenen, Rasterization, Projektionsmatrizen, Shading und Beleuchtung, Texturing, Beschleunigungsstrukturen, Volumen-Rendering usw.
    • Jede Lektion behandelt zusammen mit praktischen Implementierungsbeispielen Themen wie Berechnung von Pixelkoordinaten, Pinhole-Kameramodell sowie BRDF- und Shader-Konzepte
  • Mathematik für Computergrafik (Mathematics for Computer Graphics)

    • Erklärt die für die Umsetzung von Grafik benötigten mathematischen Theorien und Werkzeuge
      • Dieser Abschnitt ist nicht als Einführung gedacht, sondern als Referenzmaterial zu Konzepten, die in anderen Kursen erwähnt werden
    • Zu den zentralen Themen gehören Geometrie, Matrizeninversion (Gauss-Jordan-Methode), Interpolation, LookAt-Funktion, Mathematik des Shadings, Monte-Carlo-Methoden, Fourier-Transformation usw.
  • Computer Graphics Gems

    • Eine Sammlung interessanter einzelner Grafikthemen, die keiner bestimmten Kategorie zugeordnet sind
      • Derzeit ist nur eine Lektion zur Schwarzkörperstrahlung enthalten
  • Geometry

    • Behandelt, wie Formen in der Computergrafik definiert werden
      • Erklärt Methoden zur Formdarstellung mit Bézier-Kurven und -Flächen
  • Digital Imaging

    • Behandelt Bilddateiverarbeitung und Farbmanagement
    • Zentrale Themen sind Licht und Farbräume, Umwandlung digitaler Bilder von Datei zu Anzeige sowie grundlegende Bildbearbeitung
  • Procedural Generation of Virtual Worlds

    • Behandelt die prozedurale Simulation natürlicher Phänomene
    • Enthält Themen wie Value Noise, Perlin Noise und Simulation der Himmelsfarbe
  • Tooling

    • Behandelt Entwicklung von 3D-Tools und Interaktionstechniken
    • Enthält Inhalte wie Windowing, OBJ-Dateiformat und Steuerung der Kameranavigation

Neueste Nachrichten

  • Der bald startende Blog wird neben 3D-Programmierung auch verwandte Themen wie AI und Bildung behandeln
  • Ein neuer Kurs zur Vulkan API wird bald hinzugefügt
  • Ein Buch mit dem Titel „Learn Computer Graphics Programming from Scratch“ ist ebenfalls in Vorbereitung

1 Kommentare

 
GN⁺ 2025-12-29
Hacker-News-Kommentare
  • Diese Website hat sich wirklich enorm weiterentwickelt. So großartig, dass der Weihnachtsmann eine Spende dalassen sollte.
    Ich finde, im Bereich Computergrafik braucht es mehr offene Lehrmaterialien. Ältere Techniken sind in veralteten Büchern vergraben, und neue Techniken sind hinter Unternehmensmauern verborgen. Ein gutes Beispiel ist Sergei Savchenkos 3D Graphics Programming Games and Beyond.
    Moderne Graphics-APIs sind heutzutage unnötig komplex, daher halte ich es für einen besseren Einstieg, die GPU erst einmal zu vergessen und stattdessen selbst einen Software-Rasterizer oder Raytracer zu implementieren.
    Schade ist allerdings, dass diese Seite außer Discord keine Kontaktmöglichkeit bietet. Es wäre auch schön, wenn die Spendenseite direkt von der Startseite aus erreichbar wäre.

    • Ich erinnere mich, dass ein Student einmal 3D-Spiele entwickeln wollte und der Professor etwas ratlos war. Also habe ich ihm geraten: „Leih dir in der Bibliothek das Buch von Foley & Van Dam aus.“ Inzwischen gibt es mehrere überarbeitete Auflagen — Computer Graphics (Goodreads)
  • Das ist wirklich eine Schatzkiste von Material.
    Mein Nickname stammt von der Reactor-3D-Engine, die ich früher gebaut habe. Quake 3 hat mein Leben in der Highschool verändert. Wenn Doom mich in die Welt der Computer gebracht hat, dann hat Quake 3 mich für 3D begeistert.
    Ich war nicht besonders gut in Mathe, aber ich habe gelernt, indem ich Code abgeschrieben und angepasst habe, und heute habe ich eine Karriere, die Web und Grafik verbindet. Dank der weiten Verbreitung von WebGL und WebGPU habe ich bei der Arbeit sogar promovierten Kollegen Vertex Packing und das Übertragen von GPU-Structs beigebracht.
    Ich habe auch mit einem XNA-Silverlight-Entwickler zusammengearbeitet und bin damit so etwas wie ein entfernter Verwandter von MonoGame. Heute sind eher neue Ansätze wie Vulkan/DX12/Metal der Standard.

  • Diese Seite ist wirklich großartig. Die muss ich mir unbedingt ansehen.
    Während meines Masterstudiums habe ich selbst einen Raytracer implementiert, und das Buch, auf das ich mich damals bezogen habe, war Andrew S. Glassners An Introduction to Ray Tracing. Es kann inzwischen kostenlos heruntergeladen werden — Link

  • Ich habe eine alte Sammlung kostenloser Materialien zum Graphics Programming. Ich aktualisiere sie heute nicht mehr besonders oft, aber vielleicht ist sie trotzdem hilfreich — gist-Link

  • Während des größten Teils meiner Karriere war Grafik ein blinder Fleck für mich. Ich bin eher in Richtung Daten und verteilte Systeme gegangen, aber eigentlich habe ich mit dem Programmieren angefangen, weil ich Spiele machen wollte.
    Früher habe ich mit OpenGL eine Simulation von Planetenbahnen gebaut oder mit Flash ein seltsames Shoot-’em-up erstellt. Aber wann immer ich versuche, Vulkan zu lernen, gebe ich wegen der schieren Menge an Code auf. Vermutlich liegt es daran, dass mir die grundlegenden Konzepte fehlen. Wenn ich irgendwann mehr Luft habe, würde ich das gern ernsthaft noch einmal angehen.

    • Ich würde WebGL oder noch besser WebGPU empfehlen. Das ist viel leichter zu lernen, und die Konzepte, die man dabei lernt, lassen sich auch auf andere APIs anwenden — WebGPU Fundamentals, WebGL2 Fundamentals
    • Mir geht es ähnlich. Inspiriert von Zbrush und Maya wollte ich einmal Kunst mit Shadern machen, aber selbst um solche riesigen Softwarepakete nur teilweise nachzubauen, müsste man sich wohl jeden Tag mit diesem Feld beschäftigen. Die Performance von Zbrush ist wirklich erstaunlich.
    • Vulkan ist nichts für Einsteiger. Selbst wenn man die Grundlagen kennt, ist es viel zu ausschweifend. Modern OpenGL reicht völlig aus, und wenn man Vulkan unbedingt nutzen muss, ist es besser, eine höhere Bibliothek wie SDL3 zu verwenden.
    • Meiner Meinung nach ist moderne Grafik viel zu komplex geworden. Man sollte GPU-Programmierung und Computergrafik nicht miteinander verwechseln. Für Einsteiger ist es viel besser, selbst einen CPU-basierten Rasterizer oder Raytracer zu implementieren, statt direkt mit Vulkan anzufangen.
      Als Beispielmaterial empfehle ich Tiny Renderer und Ray Tracing in One Weekend.
      Wenn man diesen Prozess durchläuft, versteht man viel tiefer, warum GPUs so entworfen wurden, wie sie sind. Danach würde ich empfehlen, auf OpenGL 4.6 oder D3D11 sowie auf Seiten wie ShaderToy und ShaderAcademy auszuweiten.
      CPU-basiertes Rendering ist weiterhin wichtig, weil Film-Renderer wegen der Präzision CPUs verwenden. Zur Einordnung: WARP und LLVMpipe sind Software-Rasterizer, die auch in echten Produktionsumgebungen eingesetzt werden.
    • Vulkan ist eigentlich keine Graphics-API, sondern eine Low-Level-GPU-API. Grafik ist nur eine der Funktionen, die eine GPU ausführen kann. Wenn man das versteht, wird nachvollziehbar, warum Vulkan so entworfen ist.
  • Ich genieße die Inhalte dieser Website wirklich sehr. Danke auch dafür, dass letztes Jahr Feedback zu den AI-Thumbnails umgesetzt wurde — HN-Feedback-Link

    • Trotzdem ist es schade, dass auf der Startseite immer noch Bilder voller Tippfehler stehen. Für eine Bildungsseite sieht das nicht besonders gut aus.
  • Eines meiner Ziele für dieses Jahr ist es, von Grund auf einen Software-3D-Renderer selbst zu bauen. Ganz ohne Game Engine und ohne GPU, einfach komplett selbst implementiert.

    • Das ist ein hervorragender Ansatz. Ich unterrichte schon lange auf diese Weise. Die meisten Leute denken bei 3D-Grafik sofort an Rasterisierung, aber ich habe es eher als Glück empfunden, dass ich mit Raytracing angefangen habe.
    • Wenn du noch eine andere Perspektive sehen möchtest, kann ich auch Computer Graphics from Scratch empfehlen. Es ist kostenlos, und wegen des ähnlichen Namens kann man es leicht verwechseln.
    • Eine weitere gute Ressource ist Tiny Renderer
    • In der Sammlung der „build-your-own-x“-Projekte gibt es ebenfalls einen passenden Guide — GitHub-Link
    • Es gibt auch ein Video, das 3D-Grafik mit nur einer einzigen Formel erklärt — YouTube: One Formula That Demystifies 3D Graphics
  • Heutzutage kann man einem LLM einen Website-Link oder ein PDF geben und es in interaktives Lernmaterial verwandeln. Ich habe heute selbst ein 1000-seitiges PDF auf diese Weise umgewandelt und zum Lernen über Game Engines genutzt. Schön ist, dass es so nicht einfach nur als Lesezeichen liegen bleibt.

    • Ich frage mich allerdings, ob es überhaupt ein LLM mit groß genugem Kontextfenster gibt, um ein 1000-seitiges PDF zu verarbeiten.
  • Hoffentlich kommt irgendwann der Tag, an dem NVIDIAs Monopol auf Graphics-APIs, Googles Dominanz im Web und AMDs schwache Alternative ein Ende haben.