jabberjab Skrevet 21. desember 2007 Del Skrevet 21. desember 2007 (endret) Edit: Løste dette. Var feil ved memcpy -- Jeg skal selvfølgelig ordne med min struct, ikke min vertexbuffer. Heisann. Jeg har nettopp begynt med å lære meg DirectX, da med størst vekt på Direct3D. Jeg har ikke kommet lenger enn at jeg holder på å rendre et flatt triangel, men av en eller annen merkelig grunn så vises den ikke. Jeg har sjekket DirectX Debug loggen, men jeg kan ikke se noe galt der, kanskje dere kan. Hele koden finnes her: http://rafb.net/p/NIhZ6s16.html Her er et utdrag av mitt eget FVF: #define CUSTOMFVF (D3DFVF_XYZ|D3DFVF_DIFFUSE) //XYZ + Color struct customVertex { float x, y, z; DWORD color; }; Og min Render-funksjon: void render() { d3ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 150, 150), 1.0, 0); d3ddev->Clear(0, NULL, D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0, 0); d3ddev->BeginScene(); d3ddev->SetFVF(CUSTOMFVF); //Set our Custom Flexible Vertex Format //*** Graphics Pipeline ***// D3DXMATRIX matWorld; D3DXMatrixIdentity(&matWorld); d3ddev->SetTransform(D3DTS_WORLD, &matWorld); //*** View Pipeline ***// D3DXMATRIX matView; D3DXMatrixLookAtLH(&matView, &D3DXVECTOR3(0, 0, 10), &D3DXVECTOR3(0, 0, 0), &D3DXVECTOR3(0, 1, 0)); d3ddev->SetTransform(D3DTS_VIEW, &matView); //*** Projection Pipeline ***// D3DXMATRIX matProjection; D3DXMatrixPerspectiveFovLH(&matProjection, D3DXToRadian(45), 4.0/3.0, 1.0, 500.0); d3ddev->SetTransform(D3DTS_PROJECTION, &matProjection); d3ddev->SetStreamSource(0, vbuffer, 0, sizeof(customVertex)); d3ddev->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 1); //Draw 1 d3ddev->EndScene(); d3ddev->Present(NULL, NULL, NULL, NULL); } -- DIRECTX DEBUG LOG: Direct3D9: (INFO) :======================= Hal SWVP device selected Direct3D9: (INFO) :Using FF to PS converter Direct3D9: (INFO) :Using P4 PSGP Direct3D9: (INFO) :Using FF to VS converter in software vertex processing Håper noen kan hjelpe meg med å forstå hvorfor triangelet ikke vil vises. Tusen takk på forhånd Endret 22. desember 2007 av jabberjab Lenke til kommentar
GeirGrusom Skrevet 22. desember 2007 Del Skrevet 22. desember 2007 Noen kommentarer: Du trenger bare bruke Clear en gang hvis du bruker Or d3ddev->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 150, 150), 1.0, 0); Og matrisene er ikke det samme som en pipeline Bare kall dem Projection matrux, View matris, og model matrix Aprikos matriser, skal man egentlig bruke SetTransform funksjonene, eller er det bedre å bruke vertex shaders for å oppnå dette? Liker å bruke shaders til dette, fordi da bestemmer du helt hvordan den skal oppføre seg. Lenke til kommentar
jabberjab Skrevet 22. desember 2007 Forfatter Del Skrevet 22. desember 2007 Takk for tilleggsinformasjon. Er klar over at det ikke er en egen pipeline, men slik jeg har forstått det så er det en del av pipelinen (Modeling, View, Projection transformation), det var vel heller det jeg prøvde uttrykke Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå