Ich habe diese Frage auf SO gesehen, aber hier möchte ich mich auf GFX konzentrieren.
Welche Anwendungen / Funktionen sollte also Ihrer Meinung nach jeder angehende GFX-Programmierer schreiben / ändern, um besser zu werden?
Community-Wiki, da es keine "richtige Antwort" gibt.
LE: Bezieht sich nicht auf tatsächliche Spiele, sondern auf grafische Funktionen, z. B. das Ändern von Elementen in einer Engine (z. B. das Laden von Objekten), das Erstellen eines Compositors usw.
Antworten:
Meine Antwort ist immer dieselbe: Wenn Sie noch keine geschrieben haben, schreiben Sie einen Raytracer.
Sie müssen sich mit Optimierungsstrukturen, numerischer Präzision und vielen anderen Problemen befassen, aber Sie arbeiten auch direkt mit der Mathematik des Lichts auf eine Weise, wie Sie es selten tun, wenn Sie mit all den Hacks und Approximationen umgehen, die sich zusammensetzen ein Echtzeit-Renderer für die Produktion.
Entfernen Sie das gesamte Bauwerk von Ladesystemen, Schlagworten der Woche, verschieben Sie dieses oder jenes, und Sie bleiben schließlich mit Licht zurück, das durch ein Medium wandert. Am Ende ist das alles, was Grafiken zu bieten haben.
quelle
Heutzutage mag es von geringem praktischem Nutzen sein, aber das Schreiben in einem Software-Renderer, zumindest einem einfachen (vielleicht nur ein paar sich drehende, strukturierte Würfel), ist eine lohnende Übung.
Wenn Sie wissen, wie Sie Polygone in 3D-Hardware und Rendering-APIs transformieren, projizieren, ausschneiden, sortieren, rastern und texturieren können, erhalten Sie ein besseres Verständnis
quelle
Obwohl ich keinen Code rendere, halte ich das Schreiben eines BSP-Compilers und des zugehörigen Traversal-Codes für eine gute Übung in der Vektor-Mathematik.
Zweitens ein verzögerter Renderer. Nicht, weil dies die endgültige Antwort auf das Rendern ist, sondern um Ihnen einen Einblick in einen anderen Ansatz für das Rendern zu geben.
quelle
Erlernen Sie die Mechanik und die Fähigkeiten, gute Shader zu schreiben. Es ist zwar nicht in allen Fällen zu 100% notwendig, aber es ist eine wertvolle Fähigkeit, dies zu wissen.
quelle