JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=65e8074f2adb0f273ef8a7806b2130e7Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Texturkoordinaten sparen?

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 18.02.2004, 13:48    Titel: Texturkoordinaten sparen? Antworten mit Zitat

Hallo,

ich arbeite momentan an einem Terrain. Ich möchte gerne eine Menge Texturen verwenden Wink

1. Gras
2. Fels
3. Sand
4. Alphamap zum Mischen (Gras+Fels)
5. Alphamap zum Mischen (Gras+Sand)
6. Lightmap
7. Bumpmap?
8. EnvMap?

Also wenigstens 6 Texturen. Die Texturen 1,2,3 haben die gleichen Texturkoordinaten (u,v), genauso wie (4,5,6,7?,8?). Gibt es einen Weg nicht 8 Texturkoordinaten verwenden muss?

Also

struct TVertex
{
float x,y,z;
float u1,v1;
float u2,v2;
};

anstatt

struct TVertex
{
float x,y,z;
float u1,v1;
float u2,v2;
float u3,v3;
float u4,v4;
float u5,v5;
float u6,v6;
float u7,v7;
float u8,v8;
};


Gibt es da eine Chance?

C.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 18.02.2004, 14:35    Titel: Antworten mit Zitat

Wo genau liegt das Problem einfach die ersten Texturcoordinaten nochmal anzusprechen? Per Vertexshader klappt das.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mr.X
Junior JLI'ler



Anmeldedatum: 15.04.2003
Beiträge: 88

Medaillen: Keine

BeitragVerfasst am: 18.02.2004, 16:11    Titel: Antworten mit Zitat

ohne VS!

schau mal nach dieser Funktion
Zitat:

HRESULT SetTextureStageState( DWORD Stage,
D3DTEXTURESTAGESTATETYPE Type,
DWORD Value
);


Und als D3DTEXTURESTAGESTATETYPE speziell
Zitat:

D3DTSS_TEXCOORDINDEX



Macht genau das, was Du brauchst. Also setzt für die jeweilige Texturestage ein entsprechendes Texturkoordinatenset.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 19.02.2004, 13:08    Titel: Antworten mit Zitat

@Mr. X:

Super danke, genau das was ich suchte. Habe ich irgendwie zwar schon 10x mal gelesen aber konnte mich nicht mehr erinnern. Danke.

Vielleicht noch eine Amkerung in diesem Zusammenhang, habe bestimmt zwei Stunden gebraucht und wäre fast wahnsinnig geworden:

Wenn man eine Texturransformation mit z.B.

GetDevice()->SetTransform(D3DTS_TEXTURE0, &MatTex0);

setzen will, sollte man unbedingt darauf achten, dass die Matrix als 3x3 Matrix interpretiert wird (2D Texturkoordinaten vorausgesetzt). Die Skalierung und die Rotation (u,v) liegen an der gleichen Stelle, die Translation ist eine Reihe höher. Es wird die rechte obere 3x3 anstatt die koplette 4x4 Matrix genutzt.

C.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum