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

Anonymous

unregistriert

1

06.03.2004, 11:48

Programm startet, "mein erstes Dreieck" fehlt

Hallo.

Hab "Mein erstes Dreieck" mal abgetippt. Das Programm startet auch, aber ich bekomme nur einen blauen Bildschirm.

Kann mir jemand helfen?

So sieht meine Render-Funktion aus

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
tbResult Render(float fNumSecsPassed)
{tbMatrix mRotation;
tbMatrix mTranslation;
tbMatrix mWorld;

/*tbMatrixRotationY(TB_DEG_TO_RAD(g_fTime*90.0f), &mRotation);
tbMatrixTranslation(tbVector3(0.0f, 0.0f, 2.0f), &mTranslation);

Hab die Funktion abgeändert (s.u.), weil VC++ sagt, dass die Funktion keine 2 Parameter will!! Liegt mein Problem hierin?

*/

tbMatrixRotationY(TB_DEG_TO_RAD(g_fTime*90.0f));
tbMatrixTranslation(tbVector3(0.0f, 0.0f, 2.0f));

mWorld=mRotation*mTranslation;
g_pD3DDevice->SetTransform(D3DTS_WORLD, (D3DMATRIX*)(&mWorld));


SVertex g_aTriangleVertex[3];
g_aTriangleVertex[0].vPosition = tbVector3( 0.0f, 1.0f, 0.0f);
g_aTriangleVertex[1].vPosition = tbVector3( 1.0f, -1.0f, 0.0f);
g_aTriangleVertex[2].vPosition = tbVector3( -1.0f, -1.0f, 0.0f);
g_aTriangleVertex[0].dwColor = (DWORD)(tbColor(1.0f, 0.0f, 0.0f));
g_aTriangleVertex[1].dwColor = (DWORD)(tbColor(0.0f, 1.0f, 0.0f));
g_aTriangleVertex[2].dwColor = (DWORD)(tbColor(0.0f, 0.0f, 1.0f));

if(FAILED(hResult = g_pD3DDevice->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 63), 1.0f, 0)))
{//FEHLER BEIM LEEREN
    TB_ERROR_DIRECTX("g_pD3DDevice->Clear", hResult, TB_STOP);
}

g_pD3DDevice->BeginScene();
if(FAILED(hResult=g_pD3DDevice->DrawPrimitiveUP(D3DPT_TRIANGLELIST, 1, g_aTriangleVertex, sizeof(SVertex))))
{
    TB_ERROR_DIRECTX("g_pD3DDevice->DrawPrimitiveUP", hResult, TB_STOP);
}
g_pD3DDevice->EndScene();

g_pD3DDevice->Present(NULL, NULL, NULL, NULL);



    return TB_OK;
}



Danke schonmal im Voraus! Kanu

FrauBolaIstDumm

Treue Seele

Beiträge: 109

Wohnort: kralapp

Beruf: schüler

  • Private Nachricht senden

2

06.03.2004, 12:15

hallo

/*tbMatrixRotationY(TB_DEG_TO_RAD(g_fTime*90.0f), &mRotation);
tbMatrixTranslation(tbVector3(0.0f, 0.0f, 2.0f), &mTranslation);

Hab die Funktion abgeändert (s.u.), weil VC++ sagt, dass die Funktion keine 2 Parameter will!! Liegt mein Problem hierin?

*/
genau das selbe problem hatte ich heute auch.
schreibe so:
mRotation = tbMatrixRotation(...);
mTranslation = tbMatrixTranslation(...);
aber bei mir habe ich auch noch kein dreieck gesehen.
und du musst noch örgendeine matrix in der initscene funktion mit einbauen. MFG
Frau Bola Ist Dumm
(Deutschlehrer)

Klaus

Treue Seele

Beiträge: 245

Wohnort: Stuttgart

Beruf: Schüler

  • Private Nachricht senden

3

06.03.2004, 14:21

Re: hallo

Die Beispielprogramme sind doch alle auch auf der CD drauf - da könnt ihr ja vergleichen :)
Mozilla Firefox
The Browser - reloaded

Werbeanzeige