Skocz do zawartości


rysowanie trójkątów w directx 3d 9

directx direct3d 3d

6 odpowiedzi w tym temacie

#1 Squeak

    Nowy na forum

  • Użytkownicy
  • 4 Postów:
  • Gadu-Gadu:1102208

Napisano sob, 07 lut 2015 - 21:27

Witam !
Pisze gre korzystając z Directx 3d 9.0 .
Mam problem z rysowaniem trójkątów.
Po prostu te, które są daleko, nie są rysowane.
Zauważyłem, że maksymalna wartość 'Z' ( głębi ) to 100.
Jak moge zwiększyć tą wartość ?

#2 Jason

    Avatar

  • Super użytkownicy
  • 1118 Postów:

Napisano nie, 08 lut 2015 - 23:45

https://msdn.microso...v=vs.85%29.aspx

Na końcu note wyjaśnia wszystko.

#3 Squeak

    Nowy na forum

  • Użytkownicy
  • 4 Postów:
  • Gadu-Gadu:1102208

Napisano wto, 10 lut 2015 - 12:11

Napisałem :

D3DVIEWPORT9 vp;
vp.X = 0;
vp.Y = 0;
vp.Width = g_ClientSize.cx;
vp.Height = g_ClientSize.cy;
vp.MinZ = 0.0f;
vp.MaxZ = 1.0f;
g_pd3dDevice->SetViewport( &vp );

i nic to nie dało :-)
Dalej nie są malowane w dali trójkąty.
Próbowałem też z vp.MinZ =1.0f

Może to też zależy od karty graficznej.

#4 zambo

    Nowy na forum

  • Użytkownicy
  • 2 Postów:

Napisano śro, 11 lut 2015 - 12:26

Możliwe. Masz możliwość dla próby skorzystania z innej?

#5 Squeak

    Nowy na forum

  • Użytkownicy
  • 4 Postów:
  • Gadu-Gadu:1102208

Napisano czw, 12 lut 2015 - 17:37

Jest taka funkcja:
IDirect3DDevice9::GetDeviceCaps
Wypełnia ona strukturę D3DCAPS9, która zawiera zmienną "MaxVertexW", czyli "Maximum W-based depth value that the device supports".
Czyli wygląda na to, że karta graficzna ma znaczenie :-)

#6 marecki45

    Nowy na forum

  • Użytkownicy
  • 5 Postów:

Napisano sob, 08 sie 2015 - 15:14

Karta graficzna ma bardzo duże znaczenie, wogóle ja wiele razy się na to złapałem :/

#7 mantykorash

    Nowy na forum

  • Użytkownicy
  • 1 Postów:

Napisano śro, 19 sie 2015 - 14:59

Ma spore znaczenie. :)