Shadervielfalt



  • Abend, 🙂
    wie viele Shader hat man wohl so in seinem Programm? Ich habe jetzt ein pixel/vertex Paar für statische (= nicht animierte) Objekte und werde vermutlich noch eine pixel/geometrie/vertex Kombination für Partikel und ein pixel/vertex Paar für Animationen brauchen. Aber bei dem was ich bis jetzt so gelesen habe, ist es in größeren Projekten wohl üblich ziemlich viele Shader zu haben. Aber wozu? Was machen die alles? Was kommt da auf mich zu, was ich noch gar nicht absehen kann?

    (Verweise auf schöne und ausreichend große Open-Source Projekte sind gern gesehen.)



  • Wasser,Wetter,Regen,Blitze,gesamt Umwelt,Lava,Sonne,Normalmap,Glas,Terrain,
    Baumkronen,Schrift,Feuer,Partikel allgemein,Gras...



  • 7xCore schrieb:

    Wasser,Wetter,Regen,Blitze,gesamt Umwelt,Lava,Sonne,Normalmap,Glas,Terrain,
    Baumkronen,Schrift,Feuer,Partikel allgemein,Gras...

    Partikel, Partikel, Partikel, Partikel, (WTF?), Partikel, Skybox, (???), Mesh, Mesh, Mesh, Ok - noch ein Paar für flache Projektion, Partikel, Partikel (logischerweise oO), Mesh.
    Ja.. das hat meine Frage so ziemlich gar nicht beantwortet.



  • Aber wozu? Was machen die alles? Was kommt da auf mich zu, was ich noch gar nicht absehen kann?

    Hier st deine Frage nochmal



  • 7xCore schrieb:

    Aber wozu? Was machen die alles? Was kommt da auf mich zu, was ich noch gar nicht absehen kann?

    Hier st deine Frage nochmal

    Nicht zu vergessen:

    ShaderMacher schrieb:

    Aber bei dem was ich bis jetzt so gelesen habe, ist es in größeren Projekten wohl üblich ziemlich viele Shader zu haben.

    Du hast jetzt x Anwendungsbeispiele für Partikel genannt, ist ja auch süß von dir, aber da die alle den gleichen Shader nutzen können, beantwortet das die Frage leider überhaupt nicht.



  • aber da die alle den gleichen Shader nutzen können

    Kommt darauf an, aber eher nicht

    ShaderMacher schrieb:
    Aber bei dem was ich bis jetzt so gelesen habe, ist es in größeren Projekten wohl üblich ziemlich viele Shader zu haben.

    Ja, größeren Projekte haben viele Shader aber wo ist deine Frage ?



  • Überleg einfach nur mal wie du verschiedene Arten von Lichtquellen umsetzen würdest. In nem Forward Renderer brauchst du da praktisch von jedem Shader eine Version für jede Art von Lichtquelle...rein prinzipiell geht die Anzahl der Shader da gern exponentiell hoch...


  • Mod

    du sagst jetzt zwar:

    ShaderMacher schrieb:

    Du hast jetzt x Anwendungsbeispiele für Partikel genannt, ist ja auch süß von dir, aber da die alle den gleichen Shader nutzen können, beantwortet das die Frage leider überhaupt nicht.

    putzigerweise nennst du selbst beispiele:

    vermutlich noch eine pixel/geometrie/vertex Kombination für Partikel und ein pixel/vertex Paar für Animationen

    die alle denselben shader benutzen koennen.



  • Maserung von Holz etc ...



  • dot schrieb:

    Überleg einfach nur mal wie du verschiedene Arten von Lichtquellen umsetzen würdest. In nem Forward Renderer brauchst du da praktisch von jedem Shader eine Version für jede Art von Lichtquelle...rein prinzipiell geht die Anzahl der Shader da gern exponentiell hoch...

    Hm.. lustigerweise bin ich gerade dabei über die Implementierung von Licht nachzudenken. Ich habe bereits die Grundfunktionen für Fragment-Lightning. Allerdings alles hart gecoded, dazu findet man ja auch viele Tutorials. Wie man mit vielen Lichtquellen umgeht wird aber leider nirgends ausführlich behandelt. Bisher hatte ich den Plan, einfach alle Lichtquellen(-Variablen) in ein UBO (Array) zu packen und irgendeine Variable für die Anzahl der Licher zu setzen. Das beschränkt natürlich auf ca. 64 Lichter in einer Szene, was doof ist, aber etwas besseres fällt mir in der Tat nicht ein. (Informationen dazu wie man so etwas aufbaut wären supi.)
    Bei dieser Methode steigt halt die Anzahl der Shader nicht.
    (Da ich als Lichtquellen eh nur "directional" und "point light" sehe, würde ich das einfach alles in ein UBO packen.)

    Einen Forward Renderer kannte ich bis jetzt nicht. Der Wikipedia Artikel zu Deferred Lighting klingt allerdings vielversprechend. Mehr kann ich leider kaum finden, wie implementiert man so etwas denn?

    knivil: Das mit der Maserung soll die Textur machen. 😃

    rapso: Du renderst Partikel und Animationen mit dem gleichen Shader?



  • ShaderMacher schrieb:

    knivil: Das mit der Maserung soll die Textur machen. 😃

    Bei uns war das mal 'ne Uebungsaufgabe in Computergrafik. Es gibt auch genug Beispiele dafuer im Internet. Gleiches gilt fuer Marmor. Wer Texturiert denn Schon einen ganzen Saal, wenn es mit Shader so viel einfacher geht.



  • So richtig beantwortet wurde die Ausgangsfrage jetzt aber nicht, oder?


Anmelden zum Antworten