Entdecken Sie Millionen von E-Books, Hörbüchern und vieles mehr mit einer kostenlosen Testversion

Nur $11.99/Monat nach der Testphase. Jederzeit kündbar.

Schatten: Erkundung visueller Bereiche mit Shader: Eine Reise in die Computer Vision
Schatten: Erkundung visueller Bereiche mit Shader: Eine Reise in die Computer Vision
Schatten: Erkundung visueller Bereiche mit Shader: Eine Reise in die Computer Vision
eBook127 Seiten1 Stunde

Schatten: Erkundung visueller Bereiche mit Shader: Eine Reise in die Computer Vision

Bewertung: 0 von 5 Sternen

()

Vorschau lesen

Über dieses E-Book

Was ist Schatten?


In der Computergrafik ist ein Schatten ein Computerprogramm, das beim Rendern einer 3D-Szene die entsprechenden Licht-, Dunkelheits- und Farbwerte berechnet – ein Vorgang, der als Shading bezeichnet wird. Schatten haben sich weiterentwickelt, um eine Vielzahl von Spezialfunktionen bei Computergrafik-Spezialeffekten und Videonachbearbeitung sowie bei der allgemeinen Datenverarbeitung auf Grafikverarbeitungseinheiten auszuführen.


Wie Sie davon profitieren


(I) Erkenntnisse und Validierungen zu den folgenden Themen:


Kapitel 1: Schatten


Kapitel 2: Öffnen Sie die Grafikbibliothek


Kapitel 3: Direkte 3 Dimensionen


Kapitel 4: Hochwertiger Schatten Sprache


Kapitel 5: Offene Grafikbibliothek in eingebetteten Systemen


Kapitel 6: Grafikpipeline


Kapitel 7: Schattierungssprache


Kapitel 8: Software Rendering


Kapitel 9: Öffnen Sie die Schattierungssprache der Grafikbibliothek


Kapitel 10: Computergrafikbeleuchtung


(II) Beantwortung der öffentlichen Top-Fragen zum Thema Schatten.


(III) Beispiele aus der Praxis für den Einsatz von Schatten in vielen Bereichen.


Für wen dieses Buch ist


Profis, Studenten und Doktoranden, Enthusiasten, Hobbyisten und diejenigen, die über grundlegende Kenntnisse oder Informationen für jede Art von Schatten hinausgehen möchten.

SpracheDeutsch
Erscheinungsdatum14. Mai 2024
Schatten: Erkundung visueller Bereiche mit Shader: Eine Reise in die Computer Vision

Mehr von Fouad Sabry lesen

Ähnlich wie Schatten

Titel in dieser Serie (100)

Mehr anzeigen

Ähnliche E-Books

Künstliche Intelligenz (KI) & Semantik für Sie

Mehr anzeigen

Ähnliche Artikel

Rezensionen für Schatten

Bewertung: 0 von 5 Sternen
0 Bewertungen

0 Bewertungen0 Rezensionen

Wie hat es Ihnen gefallen?

Zum Bewerten, tippen

Die Rezension muss mindestens 10 Wörter umfassen

    Buchvorschau

    Schatten - Fouad Sabry

    Kapitel 1: Shader

    Shader sind Computerprogramme, die in Computergrafiken verwendet werden und bestimmen, wie Hell, Dunkel und Farbe in einer 3D-Umgebung gerendert werden sollen. Shader haben sich weiterentwickelt und dienen einer Vielzahl von Zwecken, von allgemeinem Computing auf Grafikprozessoren bis hin zu speziellen Aufgaben in der Computergrafik und Videonachbearbeitung.

    Herkömmliche Shader sind für die flexible Berechnung von Rendering-Effekten auf Grafikhardware verantwortlich. Obwohl dies nicht unbedingt erforderlich ist, werden die meisten Shader für die Ausführung auf einer GPU (Graphics Processing Unit) geschrieben. Die traditionelle Pipeline mit fester Funktion für das GPU-Rendering, die nur Standardgeometrietransformationen und Pixelschattierung ermöglichte, wurde weitgehend durch das flexiblere und leistungsfähigere Shader-Programmiermodell ersetzt. Ein Shader ist ein Computerprogramm, das ein erzeugtes Bild modifiziert, indem es seine Position und Farbe (Farbton, Sättigung, Helligkeit und Kontrast) mithilfe der im Shader definierten Techniken ändert und externe Variablen oder Texturen einführt.

    In der Postproduktion, CGI und Videospielen werden Shader verwendet, um eine Vielzahl von visuellen Effekten zu erstellen. Shader werden für eine Vielzahl von Effekten verwendet, die über einfache Beleuchtungsmodelle hinausgehen, einschließlich, aber nicht beschränkt auf: Ändern des Farbtons, der Sättigung, der Helligkeit (HSL/HSV) oder des Kontrasts eines Bildes; Erzeugung von Unschärfe, Lichtblüte, volumetrischer Beleuchtung, Normal-Mapping (für Tiefeneffekte), Bokeh, Cel-Shading, Posterisierung, Bump-Mapping, Verzerrung, Chroma-Keying (für sogenannte Bluescreen/Greenscreen-Effekte), Kantenerkennung und Bewegungsunschärfe; und psychedelische Effekte wie die gesehenen.

    Pixar hat diese Bedeutung des Wortes Shader mit Version 3.0 der RenderMan Interface Specification populär gemacht, die erstmals im Mai 1988 veröffentlicht wurde. Mit der Veröffentlichung von Direct3D 10 und OpenGL 3.2 waren Geometrie-Shader verfügbar. Nach einiger Zeit konvergierte die Grafikhardware zu einem Standard-Shader-Modell.

    Die Eigenschaften eines Scheitelpunkts oder eines Pixels können mit Shadern beschrieben werden, bei denen es sich um kleine Programme handelt. Die Eigenschaften eines Scheitelpunkts werden durch Vertex-Shader beschrieben (z. B. Position, Texturkoordinaten, Farben usw.), während die Eigenschaften eines Pixels durch Pixel-Shader (z. B. Farbe, Z-Tiefe und Alpha-Wert) beschrieben werden. Jeder Scheitelpunkt in einem Primitiv (möglicherweise nach Tessellation) löst einen Vertex-Shader-Aufruf aus, sodass ein Vertex-Shader nur sich selbst sieht. Dann werden die Pixel, aus denen jeder Scheitelpunkt besteht, in eine Oberfläche (einen Speicherblock) gezeichnet und an das Display weitergegeben.

    Shader ersetzen die Fixed Function Pipeline (FFP) der Grafikhardware, die so genannt wird, weil sie Aufgaben wie Beleuchtung und Texturzuordnung mit vorgegebener Natur übernimmt. Shader bieten eine flexiblere, programmgesteuerte Alternative zu dieser Art der unflexiblen Codierung.

    Dies ist die grundlegende Grafikpipeline:

    Sowohl Geometriedaten als auch Anweisungen (kompilierte Shading-Sprachprogramme) werden von der CPU an die GPU auf der Grafikkarte gesendet.

    Der Vertex-Shader ist der Ort, an dem die Geometrietransformationen stattfinden.

    Wenn ein Geometrie-Shader in die GPU geladen wird und aktiv ist, werden einige Änderungen an der Geometrie der Szene vorgenommen.

    Szenengeometrien können partitioniert werden, wenn ein Tessellations-Shader in der GPU vorhanden und aktiviert ist.

    Triangulation wird bei der Berechnung von Geometrie (unterteilt in Dreiecke) verwendet.

    Dreiecke werden in Fragmentquads unterteilt (ein Fragmentquad ist ein 2- × 2-Fragment-Primitiv).

    Der Fragment-Shader wirkt sich auf verschiedene Weise auf die Fragment-Quads aus.

    Fragmente, die den Tiefentest bestehen, werden auf den Bildschirm gezeichnet und möglicherweise mit anderen Frames im Framepuffer zusammengeführt.

    Diese Verfahren werden von der grafischen Pipeline verwendet, um dreidimensionale (oder zweidimensionale) Daten in darstellbare zweidimensionale Informationen zu vereinfachen. Einfach ausgedrückt handelt es sich dabei um eine massive Pixelmatrix, die manchmal auch als Framebuffer bezeichnet wird.

    Pixel-Shader, Vertex-Shader und Geometrie-Shader sind am weitesten verbreitet, es gibt jedoch noch mehr. Im Gegensatz zu früheren Grafikkarten, die dedizierte Verarbeitungseinheiten für jeden Shadertyp hatten, verfügen moderne Karten über einheitliche Shader, die jeden Shader ausführen können. Dadurch können Grafikkarten ihre Ressourcen besser nutzen.

    Im Bereich der Computergrafik sind digitale Bilder (auch als Texturen bekannt) das Ziel der Manipulation von 2D-Shadern. Pixeleigenschaften werden durch sie verändert. Es ist möglich, dass 2D-Shader beim Rendern von 3D-Geometrie helfen. Pixel-Shader sind die einzige existierende Art von 2D-Shadern.

    Fragment-Shader oder Pixel-Shader sind für die Berechnung der Farbe und anderer Attribute jedes Fragments der Rendering-Arbeit verantwortlich, die nicht mehr als ein einzelnes Ausgabepixel betreffen. Die einfachsten Pixel-Shader haben eine einzige Eingabe und geben den Farbwert eines einzelnen Pixels auf dem Bildschirm aus, während kompliziertere Shader zahlreiche Ein- und Ausgaben verarbeiten können. Es gibt eine Vielzahl von Pixel-Shadern, von denen einige einfach eine konstante Farbe ausgeben, andere, die einen Beleuchtungswert anwenden, und wieder andere, die Bump-Mapping, Schatten, Glanzlichter, Transluzenz und andere Effekte ausführen. Bei der Z-Pufferung können sie die Tiefe des Fragments ändern, und beim Rendern an mehrere Ziele können sie mehr als eine Farbe ausgeben. Einige komplizierte Effekte in 3D-Grafiken können nicht nur mit einem Pixel-Shader erzielt werden, da er mit einem einzelnen Fragment arbeitet und keinen Kontext für die Geometrie der Szene (d. h. Scheitelpunktdaten) hat. Pixel-Shader hingegen kennen die gerenderte Bildschirmkoordinate und können eine Stichprobe des Bildschirms und benachbarter Pixel entnehmen, wenn der komplette Bildschirm dem Shader als Textur zur Verfügung gestellt wird. Diese Methode kann es Cartoon-/Cel-Shadern ermöglichen, eine breite Palette von Nachbearbeitungseffekten zu nutzen, von Unschärfe bis hin zu Kantenerkennung und -verbesserung. Während Vertex-Shader nur mit einer 3D-Szene verwendet werden können, können Pixel-Shader an jedem Punkt in der Pipeline auf beliebige 2D-Bilder (z. B. Sprites oder Texturen) angewendet werden. Beispielsweise kann nur ein Pixel-Shader als Postprozessor oder Filter für einen gerasterten Videostream verwendet werden.

    3D-Shader ändern das Erscheinungsbild von Gittern und Modellen im 3D-Raum, indem sie ihre Farben und Texturen manipulieren. Vertex-Shader sind die früheste Form von 3D-Shadern und ändern jeden Scheitelpunkt unabhängig. Zu den jüngsten Iterationen von Geometrie-Shadern gehört ein In-Shader-Vertex-Generator. Tessellations-Shader sind die aktuellste Art von 3D-Shadern. Sie führen Massenoperationen an Gruppen von Scheitelpunkten gleichzeitig durch, um den Realismus zu erhöhen, z. B. indem sie ein Modell dynamisch in kleinere Gruppen von Dreiecken oder anderen Grundkörpern unterteilen, um Dinge wie Kurven und Unebenheiten zu verbessern, oder indem sie andere Attribute ändern.

    Vertex-Shader sind die häufigste Art von 3D-Shadern und werden einmal für jeden an die GPU übergebenen Scheitelpunkt ausgeführt. Ziel ist es, die 3D-Position jedes Scheitelpunkts im virtuellen Raum auf die entsprechende 2D-Koordinate auf dem Display abzubilden (sowie einen Tiefenwert für den Z-Puffer). Ein Vertex-Shader kann zwar die Attribute vorhandener Scheitelpunkte wie Farb- und Texturkoordinaten ändern, aber keine neuen generieren. Die Ausgabe des Vertex-Shaders wird an die nächste Ebene der Pipeline übertragen, bei der es sich je nach Setup um einen Geometrie-Shader oder den Rasterizer handeln kann. Die Verwendung von Vertex-Shadern ermöglicht eine feinkörnige Manipulation der Positionen, Rotationen, Translationen, Beleuchtung und Farbe von 3D-Modellen.

    Direct3D 10 und OpenGL 3.2 enthielten Geometrie-Shader, die zuvor in OpenGL 2.0+ über Erweiterungen verfügbar waren.

    Nach Abschluss der Vertex-Shader wird der Geometrie-Shader-Code ausgeführt. Sie wollen ein vollständiges Primitiv, vielleicht mit Informationen über seine Nachbarn, als Input. Bei der Verarbeitung von Dreiecken erhält

    Gefällt Ihnen die Vorschau?
    Seite 1 von 1