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

25.10.2005, 13:22

Verständnisschwierigkeit mit Zeichen von Dreieck

C-/C++-Quelltext

1
2
D3D->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,0,255), 1.0f, 0 );
D3D->BeginScene();


Ich habe eine Projektionsmatrix:

C-/C++-Quelltext

1
2
tbMatrix mProjection = tbMatrixProjection(TB_DEG_TO_RAD(90.0f), D3D.GetAspect(), 0.0f, 100.0f);
D3D.SetTransform(D3DTS_PROJECTION, mProjection);



Meine Weltmatrix ist die Identitätsmatrix, da ich nichts transformiere.

C-/C++-Quelltext

1
2
mWorld = mScal * mRotX * mRotY * mRotZ * mTranslation;
D3D.SetTransform(D3DTS_WORLD, mWorld);


mWorld:
Matrix:
1.000 0.000 0.000 0.000
0.000 1.000 0.000 0.000
0.000 0.000 1.000 0.000
0.000 0.000 0.000 1.000


Die Vertexkoordinaten sind:
3D-Vektor: x = 0.000, y = 0.000, z = 1.000, Länge = 1.000
3D-Vektor: x = 1.000, y = 0.000, z = 1.000, Länge = 1.414
3D-Vektor: x = 0.000, y = 1.000, z = 1.000, Länge = 1.414

C-/C++-Quelltext

1
2
3
D3D.SetFVF(D3DFVF_XYZ | D3DFVF_DIFFUSE);
D3D->DrawPrimitiveUP(D3DPT_TRIANGLELIST,1,vertex, sizeof(SVertex));
D3D->EndScene();


Eigentlich müsste ich doch ein Dreieck sehen, dass relativ gross ist und den rechten Teil des Bildschirms einnimmt.
Ich sehe aber leider gar nichts!

C-/C++-Quelltext

1
2
3
4
5
struct SVertex
{
    tbVector3           vPosition;  // Position des Vertex

    DWORD               dwColor;    // Farbe des Vertex

};


Falls ich eine Kamera einstelle, sehe ich leider auch kein Dreieck.
Was ist eigentlich die Einstellung für die Viewmatrix, falls ich nichts einstelle? Steht diese an Pos (0,0,0) und schaut auf (0,0,0) ?


Danke für die Hilfe im voraus



[/cpp]

Terriermon

Frischling

Beiträge: 52

Wohnort: Finnland :-)

  • Private Nachricht senden

2

25.10.2005, 14:21

Sieht so aus, als hättest du

C-/C++-Quelltext

1
D3D->Present(0, 0, 0, 0);

nach der EndScene-Funktion vergessen, schau mal!

Anonymous

unregistriert

3

25.10.2005, 15:40

Nö hat er doch

Anonymous

unregistriert

4

25.10.2005, 15:43

present wird innerhalb des Frameworks aufgerufen, so weit ich weiss.

Ursprünglich wurden im Programm zufällige Werte erzeugt und ab und an wurden dann auch Dreiecke dargestellt. Also es liegt nicht daran, dass ich etwas vergessen hebe, sondern dass ich etwas mit den Koordianten wohl nicht richtig verstanden habe

Werbeanzeige