Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

21

19.02.2014, 13:52

Zitat von »BlueCobold«

Dort werden kachelbare Texturen (oder Sprites aus einem Atlas) nebeneinander gelegt. Verschiedene. Und alle passen nahtlos aneinander.

Es werden mehrere Texturausschnitte nebeneinandergelegt.

Zitat von »BlueCobold«

Genau dafür gibt es Textur-Atlanten und Texture-Arrays. Das erfordert weder mehr Statechanges, noch mehr Drawcalls und somit gibt es dort auch keinen Flaschenhals.

Ja, dann ist es auf der GPU allerdinds wieder eine Textur und nicht mehrere.
Es ging um folgende Aussage: "Ich zerlege teilweise auch 1ne Textur in viele Teile"
Das habe ich so verstanden, dass er nicht bloß mehrere Texturausschnitte in einen Atlas oder Array nutzt, sondern wirklich mehrere Texturen.
Wie sich heraus gestellt hat, trifft das bei ihm nicht zu, weil er die Tiles doch alle in einer Textur hat.

Zitat von »BlueCobold«

Weil? Reden wir jetzt hier etwa ernsthaft über Nanosekunden?

Weil bei Bindlesstextures die GPU die Texel nicht so gut fetchen & cachen kann.
Bei Texturatlanten trifft das natürlich nicht zu. Und das will ich auch nie behauptet haben.
Nvidea selbst hat angegeben und ich nehme deshalb an, dass es sich insgesamt um mehr als nur Nanosekunden handelt.

Zitat von »BlueCobold«

Nur eben statt eine ganze Textur zu wiederholen, sollen nur Ausschnitte wiederholt werden.

Das sehe ich als großen Unterschied. Außerdem arbeitet er damit eben im 2 Dimensionalen also trifft seine Aussage "Optimal ist immer wenn das Tile genauso viele Pixel hat, wie der Bereich auf dem du sie darstellst" in diesem Fall zu.
Unter Kachelung verstehe ich, wenn eine ganze Textur über Texturkoordinaten > 1 über einen Bereich gelegt wird.
Eben wie ein Stapel Kacheln über den Badezimmerboden.
Und verschiedene Texturen sind bei dieser Art von Kacheln eben nicht einfach so möglich.
Möglicherweise kann man den Begriff "Kachelung" auch so auslegen wie Tilemapping, ich habe das allerdings bisher noch nicht in dem Sinn gehört.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

22

19.02.2014, 15:20

Unter Kachelung verstehe ich, wenn eine ganze Textur über Texturkoordinaten > 1 über einen Bereich gelegt wird.
Eben wie ein Stapel Kacheln über den Badezimmerboden.
Das mag Deine Auffassung sein. Kachelung enthält unter meiner aber eben nur die Wiederholung von Bildern auf die Art, dass sie nahtlos aneinander passen - wie Kacheln/Fliesen eben.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

23

25.02.2014, 18:33

Meine Anfängliche Begeisterung für Array-Texturen legt sich !
Durch die Hardwear-Anforderungen sind sie leider nur bedingt nützlich !
Gebräuchliche Grafikkarten-Modelle unterstützen nur 20 Ebenen (also wer die Anforderungen niedrig halten will muss hier sehr aufpassen) !
Wer Große Texturen in winzige Bilder zerteilen will kommt mit Textur-Koordinaten kleiner 1, häufig Performanter zu recht !
Nur als Hinweis und zum Teil auch als Frage (habe ich da was falsch bedacht) ?
Ich habe auf einer Textur nicht selten 1600 Tiles.

Edit :
Gebräuchlich nenne ich mein Modell (5650 M)
Auf 1600 Tiles kommt man bei Texturen von 2048x2048 (50x50), was ich für viele Symbole und Buttons nutze (Rollenspiel mit vielen Fähigkeiten ...).

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »OOTD« (25.02.2014, 19:04)


Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

24

25.02.2014, 20:10

20 kommt mir ein bisschen arg wenig vor.
Auf meinen Computer hier liegt das Limit bei 2048. (GTX 760)
Die Hardwarestatistik hier, sagt auch aus, dass man von 512 auf ausgehen darf wenn es denn überhaupt unterstützt wird:
http://delphigl.de/glcapsviewer/statisti…_TEXTURE_LAYERS
DieOpenGL Spezifikation schreibt selbst auch 256 als Mindestwert fest.

Ich denke nicht, dass es bei Dx wesentlich anders ist.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Spiele Programmierer« (26.02.2014, 13:37)


25

26.02.2014, 06:08

Ich hatte nach TMU gesucht (Meine Grafikkarte hat 20), wegen Zitat "but be aware that if you are limited by the number of hardware texture units".
Laut deiner Liste unterstützt meine Grafikkarte sogar 8192 je Textur :)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »OOTD« (26.02.2014, 06:23)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

26

26.02.2014, 06:35

Texture-Units und Array Texture Layers sind ja auch verschiedene Dinge.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige