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

1

12.03.2007, 14:19

[DX] Mehrere Texturen auf einen VBO

Hallo,
Kann ich mehrere Texturen auf einen Vertexbuffer legen? Die Rede ist von unbekannt vielen verschiedenen Texturen die auf eine Fläche (Landfläche) gelegt werden sollen.

Ich kann bereits den Vertexbuffer inkl. Korrekter Texturkoordinaten erstellen und rendern (mit nur 1 Textur). Mein Problem besteht darin, dass ich nicht weiß, ob und wie ich es hinbekomme, dass ich bestimmten Texturkoordinaten eine Textur "zuweise".

Könnt ihr mir helfen?

Grüße


Edit:

ich suche ne lösung die ohne ständiges Texturtauschen(for..for..) auskommt...

Firefly

Alter Hase

Beiträge: 484

Wohnort: Irgendwoundnirgendwo

  • Private Nachricht senden

2

12.03.2007, 14:39

Definitiv ist der Weg mit beliebig vielen Texturen so nicht möglich...
Man kann aber mit FVF bis zu 8 Texturen darstellen
ansonsten musst dus über eigene Methoden machen
aber du bracusht doch für ein Terrain sowieso meistens nict mehr als 8 Texturen und das ist eigentlich sowie schon zu viel...

3

12.03.2007, 14:44

Mhm könnte man irgendwie die Texturen in eine große Textur packen (beim Laden) und dann mappen?

Oder man teilt den einen VB in viele mit gleichen Texturen, wobei dann natürlich Texturübergänge problematisch sind.

Gibts da echt keine andere performante Lösung?

4

12.03.2007, 15:38

Zitat von »"DarkCoder"«

Mhm könnte man irgendwie die Texturen in eine große Textur packen (beim Laden) und dann mappen?

Geht nicht weil du jedem Vertex genau angibst welchen Texel er hat. Bei deiner Variante müsstest du einem Vertex mehreer Texelpositionen geben und das geht nicht.
Du kannst höchstens Das Objekt mehrfach rendern und die Farben selber mischen.
Aber ich finde auch das 8 Texturen viel zu viel sind. Was hast du mit so vielen Texturen vor?

5

12.03.2007, 16:34

mhm k.

is ja dumm. dann bleibt wohl nur für die texturen verschiedene VBOs zu erstellen.

Generell gehts dabei um eine Tilemap, ein Tile-> zwei Tris. Das Maximum liegt bei 1024x1024 Tiles. Jedes Tile könnte eine eigene Textur haben.

...

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

6

12.03.2007, 16:42

achso, geht es dabei um 2D oder 3D?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

7

12.03.2007, 16:53

also generell 2D, es sind 3D VBOs mit z=0. Aber ja 2D.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

8

13.03.2007, 14:24

Dann geht es viel einfacher. Du schaltest den Z-Test ab und renderst deine Tiles in der Reihenfolge, wie du sie haben willst. Die Texturwechsel lassen sich da nicht vermeiden, aber die fallen auch nicht weiter ins Gewicht, wenn man intelligent rendert. Also sprich, wenn man eine Textur mit einem Baum drauf hat sollte man möglichst alle Bäume im Bild auf einen Zug rendern(also direkt nacheinander und nicht im Wechsel mit anderen Texturen). Dann spart man sich einige Texturwechsel.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

9

13.03.2007, 14:54

jup, so hatte ich mir das jetzt auch gedacht. Alle Polys die zusammengehören (gleiche Textur) in einen Buffer und in einem rutsch rendern.
:)

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

10

14.03.2007, 12:34

Das macht wiederum keinen Sinn.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Werbeanzeige