JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

[Vertices] Probleme

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 30.10.2004, 01:01    Titel: [Vertices] Probleme Antworten mit Zitat

hi,
ich hab totale Verständniss-Probleme mit den Vertices und dem Vertexbuffer...

Im Prinzip muss ich doch nur ein Viereck mit den Vertices machen
und darauf eine Texture klatschen, aber irgendwie krieg ich das nicht
gebacken..

Kann mir jemand helfen durch ein Beispiel ?

Ich möchte nur "2D" haben, nichts 3D ..

thx
mfg
DarK
_________________
"Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."

"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."

"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Sören
JLI Master Trainee



Anmeldedatum: 26.07.2002
Beiträge: 647
Wohnort: Bonn
Medaillen: Keine

BeitragVerfasst am: 30.10.2004, 01:19    Titel: Antworten mit Zitat

Hast du das Buch nicht?
Ansonsten: Was verstehst du nicht?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 30.10.2004, 01:33    Titel: Antworten mit Zitat

Naja irgendwie die ganzen Vertices e.t.c. ..
ich schaff es son tolles dreieck zu machen, aber an einem REchteck scheichert ich schon und danach wüst ich auch net wie ich eine Texture darauf bekomme Sad

irgendwie überfordert mich DirectX 9 *heul*
_________________
"Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."

"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."

"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 30.10.2004, 01:53    Titel: Antworten mit Zitat

Nun hab ich folgendes hinbekommen:


mein Ziel ist aber folgendes:


was mach ich falsch ? die TEXTURE wird richtig eingeladen e.t.c.
_________________
"Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."

"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."

"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Christian Rousselle
Site Admin


Alter: 49
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 30.10.2004, 08:44    Titel: Antworten mit Zitat

Hallo,

wie hast du das Vertexformat definiert? Du brauchst ein Vertexformat mit einer Position und Texturkoordinaten:

Code:

struct VERTEX_POS_TEX
{
   float x, y, z;
   float tu, tv;

   static const FVF;
};

VERTEX_POS_TEX::FVF = D3DFVFXYZ | D3DFVF_TEX1;


Angenommen, du willst das Quad als nicht indizierte Dreiecksliste rendern, dann brauchst du 6 Vertices. Wie das geht und die du die Position und Texturkoordinaten angibst, steht im Buch, kann man sich aber auch denken - du hast ja außerdem schon ein Quad rendern können. Es kann also eigentlich nur noch was mit den Texturkoordinaten nicht okay sein. Der (oder die) linken, oberen Vertices haben die Texturkoordinate (0.0f, 0.0f), links unten (0.0f, 1.0f), rechts oben (1.0f, 0.0f), rechts unten (1.0f, 1.0f).

C.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 30.10.2004, 10:23    Titel: Antworten mit Zitat

mit
Zitat:
D3DFVFXYZ | D3DFVF_TEX1;


hab ich folgendes:



ich krieg einfach net gebacken Sad
_________________
"Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."

"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."

"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


Alter: 38
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 30.10.2004, 10:28    Titel: Antworten mit Zitat

also du must die Texturkoordinaten schon richtig setzten. ALSO:
Poste einfach mal:
- Komplete vertexformat
- Die Vertex initialisierung
- die Renderfunktion
äh, poste am besten alles was was mit der 3D Ausgabe zu tun hat!
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beni5
Super JLI'ler


Alter: 37
Anmeldedatum: 12.11.2003
Beiträge: 310
Wohnort: Switzerland
Medaillen: Keine

BeitragVerfasst am: 30.10.2004, 10:39    Titel: Antworten mit Zitat

Kann auch sein das was mit der Normale nicht stimmt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 30.10.2004, 10:49    Titel: Antworten mit Zitat

Code:

struct CUSTOMVERTEX
{
FLOAT x, y, z;
DWORD color;       
FLOAT tu, tv;
};

#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE|D3DFVF_TEX1)



Code:

CUSTOMVERTEX vertices[] =
{
{  50.0f,  50.0f, 0.0f, 0xff00ff00, 0.0f, 0.0f},
{ 256.0f,  50.0f, 0.0f, 0xffff0000, 1.0f, 0.0f}, // x, y, z, rhw, color
{ 256.0f, 256.0f, 0.0f, 0xff00ff00, 1.0f, 1.0f},
       
{  50.0f,  50.0f, 0.0f, 0xff00ff00, 0.0f, 0.0f},
{ 256.0f, 256.0f, 0.0f, 0xff00ff00, 1.0f, 1.0f},
{  50.0f, 256.0f, 0.0f, 0xff00ffff, 0.0f, 1.0f},      
};

m_lpD3DDevice->CreateVertexBuffer(6*sizeof(CUSTOMVERTEX),0, D3DFVF_CUSTOMVERTEX,D3DPOOL_MANAGED, &g_pVB, NULL);

VOID* pVertices;
g_pVB->Lock(0, 0, (void**)&pVertices, 0);
memcpy(pVertices, vertices, sizeof(vertices));
g_pVB->Unlock();

D3DXCreateTextureFromFile(m_lpD3DDevice,"gfx/banana.bmp",&lpTexture);
m_lpD3DDevice->SetRenderState(D3DRS_LIGHTING,FALSE);
m_lpD3DDevice->SetFVF(D3DFVF_CUSTOMVERTEX);
m_lpD3DDevice->SetTexture(0, lpTexture);
m_lpD3DDevice->SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_SELECTARG1);


Code:

m_lpD3DDevice->SetStreamSource(0, g_pVB, 0, sizeof(CUSTOMVERTEX));
m_lpD3DDevice->DrawPrimitive(D3DPT_TRIANGLELIST , 0, 2);


da Sad
_________________
"Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."

"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."

"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
abc_d
JLI Master Trainee


Alter: 36
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 30.10.2004, 11:40    Titel: Antworten mit Zitat

Code:

beim 4.
{  50.0f,  50.0f, 0.0f, 0xff00ff00, 0.0f, 0.0f},
->
{ 256.0f,  50.0f, 0.0f, 0xffff0000, 1.0f, 0.0f},


sonst hast du merkwürdige Dreiecke
_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


Alter: 38
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 30.10.2004, 12:03    Titel: Antworten mit Zitat

@Beni5
Das mit den normaen halte ich für seeehr unwahrscheinlich. Da wäre die beleuchtung falsch, wen sie den angeschaltet wäre, und Normalvektoren im Vertexformat auftauchen würden.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
KI
JLI Master


Alter: 40
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 30.10.2004, 12:21    Titel: Antworten mit Zitat

Christian hat doch schon alles gesagt..

demnach müsste es so aussehen:
Code:

{  50.0f,  50.0f, 0.0f, 0xff00ff00, 0.0f, 1.0f},
{ 256.0f,  50.0f, 0.0f, 0xffff0000, 1.0f, 1.0f},
{ 256.0f, 256.0f, 0.0f, 0xff00ff00, 1.0f, 0.0f},
       
{  50.0f,  50.0f, 0.0f, 0xff00ff00, 0.0f, 1.0f},
{ 256.0f, 256.0f, 0.0f, 0xff00ff00, 1.0f, 0.0f},
{  50.0f, 256.0f, 0.0f, 0xff00ffff, 0.0f, 0.0f}, 
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
abc_d
JLI Master Trainee


Alter: 36
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 30.10.2004, 12:24    Titel: Antworten mit Zitat

Es funktioniert bei ihm schon Razz
_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling
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