stevensen Geschrieben 16. Dezember 2016 Melden Share Geschrieben 16. Dezember 2016 Hallo, ich möchte gern 9 verschiedene Texturen in einer 3 x 3 Aufteilung auf einem Shader bringen. Ich kenn mich aber mit Shadern für Unity nicht so gut aus.Hat hier jeman ein Beispiel, was ich mir dann passend machen kann? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 17. Dezember 2016 Melden Share Geschrieben 17. Dezember 2016 Ich vermute hier ganz stark ein XY-Problem. Von daher die Frage: Warum willst du das tun? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
stevensen Geschrieben 17. Dezember 2016 Autor Melden Share Geschrieben 17. Dezember 2016 ja hallo, im Grunde, soll es sowas sein wie man es manchmal bei solchen Überwachsungssystemen sieht. Quasi eine Übersicht von z.b. mehreren Kameras wo man dann eine bestimmte auswählen und auf Fullscreen schalten kann. Ich habe jetzt 4 Cameras(später 9) die eine Szene beobachten und ihr Aufnahme zu einem Shader schicken. Das funktioniert soweit, allerdings liegen die Aufnahmen über den ganzen UV-Raum des Shaders. jetzt müsste ich die noch kacheln. Und da hängts. float4 col1 = tex2D(_View01, i.uv); float4 col2 = tex2D(_View02, i.uv); float4 col3 = tex2D(_View03, i.uv); float4 col4 = tex2D(_View04, i.uv); Dann multipliziere das und gib alles mit Return zurück. ich müßte die Uv wahrscheinlich irgendwie dritteln. Eine Idee dazu würde vielleicht schon helfen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 17. Dezember 2016 Melden Share Geschrieben 17. Dezember 2016 Dachte ich mir fast. Tu den Grafikkarten der Welt einen Gefallen und mache das nicht auf einer Oberfläche, sondern baue dir neun Oberflächen Wenn du alle Vertices, die deine Szene hat, in einen Shader packst und dann nur ein Bild damit malst, bist du nicht schneller im Vergleich zum normalen Ansatz, deine Frament Shader immer wieder auszuführen. Grafikkarten sind stark darauf optimiert, das zu können, was Spieleengines von ihnen wollen. Geize darum nicht mit Draw Calls oder Polygonen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
stevensen Geschrieben 17. Dezember 2016 Autor Melden Share Geschrieben 17. Dezember 2016 Das ist natürlich ne Idee ... Wenn ich mit verschiedenen Screen-Auflösungen hantiere müßte ich diese 9 Planes im Raster auch entsprechend verändern? Außerdem bräuchte ich diese 9 Ansichten immer Fullscreen, also müßte ich sie an meine MainCamrea linken oder? Nur der vollständighalber komme ich nochmal auch den Shader zurück. Könnte ich die Texturen (wenn ich wüßte wie) auch einen Imagefx-Shader machen, den ich dann mit ensprechend Material auf die Main-Kamera schmeiße? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 18. Dezember 2016 Melden Share Geschrieben 18. Dezember 2016 Das ist natürlich ne Idee ... Wenn ich mit verschiedenen Screen-Auflösungen hantiere müßte ich diese 9 Planes im Raster auch entsprechend verändern? Außerdem bräuchte ich diese 9 Ansichten immer Fullscreen, also müßte ich sie an meine MainCamrea linken oder? Auf die eine oder andere Weise ja, aber das ist wirklich nicht schwierig zu machen und kostet halt auch keine besondere Performance. Zum Beispiel kannst du alle Planes einem Objekt unterordnen, und dieses Objekt müsste dann nur noch auf der X-Achse entsprechend des Seitenverhältnisses skaliert werden. Je nach dem, was du da vorhast, könnte auch eine einfache UI sinnvoll sein. Nur der vollständighalber komme ich nochmal auch den Shader zurück. Könnte ich die Texturen (wenn ich wüßte wie) auch einen Imagefx-Shader machen, den ich dann mit ensprechend Material auf die Main-Kamera schmeiße? Klar, mit Shadern kann man heutzutage alles machen. Die Frage ist nur immer, wie sinnvoll das ist Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 18. Dezember 2016 Melden Share Geschrieben 18. Dezember 2016 Du müsstest die uv's per Shadercode (if-Anweisungen) in Segmente zerteilen und die Texturen je nach Segment zuordnen. Die uv-Koordinaten gehen von 0-1. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.