HToneill's Mod Thread - Theorie und Praxis

  • Oder soll ich mal schnell nebenbei DayZ 2 entwickeln?

    Fertigstellung irgendwann 2060 wenn ich so abgurke wie Bohemia -na dann mal los.



    Erstmal juckt allen Grafik, ich weiß nicht wieso. Es ist eine Disziplin von vielen und wird von vielen Devs und Spielern fast als das einzige Kriterium gesehen.

    Neuerdings habe ich bei Steam Sims kostenlos testen können. Der erste Gamebreaking Glitch war nach unter einer Stunde Spiel bereits entdeckt.

    Selbst Spielstand war kaputt :S Grafik ist nicht alles.


    Whatever. Hauptsache das Spiel sieht gut dabei aus.

    Erster wichtiger Punkt: Materialworkflow und "physical based rendering" kurz PBR.

    Ja da kommt RTX wunderbar zur Geltung! Es geht hierbei um nichts anderes, als das der Bildaufbau von jedem Frame über sowas wie Photonen geschieht, die dann realistisch an der Oberfläche dann entweder geschluckt oder reflektiert werden. Auch ist es so, dass ein Objekt immer von seiner eigenen Umgebung beleuchtet wird. Konventionelle Materialien und Renderings kommen an die Grenze


    Hier ist mal ein PBR Workflow, in OpenGl realisiert:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Die Reflektionen, die das Objekt abbildet entspricht der Umgebung. an der oberen Seite der Kassette wird die Reflektion blau wirken, weil der Himmel reflektiert wird. An der unteren Seite eher rötlich weil der Boden relektiert wird.

    Es sind gar keine Lichtquellen verbaut. Es gibt also noch gar kein Licht und Schattensystem, dennoch sind die Materialen amtlich von der Umgebung beeinflusst.



    Und wer sich so richtig interessiert, dieser OpenGl Shader sorgt für den Materialeffekt auf der Kassette:

    Keine Sorge, das ist Low Level Code, der darf einem die Haare zu Kopfe stehen lassen - So mag das die Grafikkarte^^

    Ja hier ist State of the Art GPU Physik verbaut^^ Dieser Code wird in einem Pixelshader für jeden Pixel einmal ausgeführt.

    Bei einer Texturgröße von 2048x2048 Pixel wird dieser Code 4194304 mal ausgeführt, pro Frame, pro Objekt.



    Code
    gl_FragColor

    stellt dabei den RGBA Farbwert eines einzigen Pixels da, das ist auch die einzige notwendige Ausgabe aus einem solchen Shader.

    Dieser Wert wird jeweils als Float weitergereicht!


    Ein Varying Eingangswert, zum Beispiel:

    Code
    uv0Varying

    Stellt dabei jeweils die Koordinate für den Pixel entsprechend einen Wert als Eingang, der variiert.


    Der einfachste Shader Code sieht im übrigen so aus:

    Code
    void main() {
    gl_FragColor = vec4( 1.0, 1.0, 1.0, 1.0 );
    }

    Jeder Pixel wird als absolut weiß ausgegeben, unabhängig von Position oder sonstigem.



    PS: Ein Shader ist ein Code, der an die Grafikkarte geschickt wird und auf Shaderkernen ausgeführt wird. Jeder Shaderkern ist eine eigene CPU mit kleinem instruktionsset. Shader müssen dabei maximalst optimiert sein, damit der Shader performant läuft. Es werden meist tausende Shader gleichzeitig berechnet, mit jeweils millionen Berechnungen.

    Wir nutzen heutzutage Grafikkarten dekadent zum Darstellen von Unterhaltung, die in den 90er Jahren noch als Supercomputer galten, also sollten wir schon mal das Beste da raus holen müssen.

    Der Shader oben ist nicht absolut optimiert, schon gar nicht auf Durchsichtigkeit von Materialien, läuft aber schon performant und macht nahezu alles.

    Solch ein Shader muss für die Zukunft nur minimal angepasst werden, wenn sich die Art und Weiße der Grafikkartenansteuerung ändert. Wenn die Berechnungen stimmen, ist alles nur noch eine Frage von der Auflösung der Materialien. Physik stimmt!

  • Wieviel m² Fläche hat die Hütte, damit ich weiß, wieviel Blut ich zum streichen brauche?

    Einmal editiert, zuletzt von Tepesch ()

  • Gott bloß nicht, da reicht schon einer 8o :*


    EHER so wie der fahnenmast , so schön runde natursteine , vielleicht so 400 Stück ^^


    Sehe schon den Preis für Schleifsteine und Spitzhacken in die Höhe schießen

  • Das Haus, wie es in den Entwicklertools von Bohemia aussehen muss, damit es klappt:

    haus.png

    Hut ab das du da durch blicks habe kein plan von sowas :S

  • Ich versuche gerade die Kamera für das kommende Update fertig zu machen.

    20220324005725-1.jpg


    Dabei durch Zufall ein Feature gefunden: Kurzsichtigkeit!

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Das Szenario ist so, dass ein Char auch mal als kurzsichtiger Spieler spawnen kann, dann braucht er dauerhaft eine Brille um klar zu sehen.

    Ich stelle mir vor, dass es durchaus zu mehr Variation im Aussehen führt und jeder mit der Sehschwäche wäre wieder verloren wie in den ersten Stunden. Aber in erster Linie auch zu hunderten Tickets oder mehr Leichen an den Stränden.


    - Simulierte Sehschwäche, nie dran gedacht xD Keine Sorge, kommt erstmal nicht auf den Server^^



    Was es in das nächste Update am Freitag nicht geschafft hat sind die Molotov Cocktails und die Hütte :S


    Die Hütte ist richtig kompliziert.