Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
SetFVF = Czarny ekran
#1
Kod:   void cMenu :: FillRGB (int x, int, int w, int h, D3DCOLOR Color, IDirect3DDevice9 * pDevice) {if (! pDevice) return; const DWORD D3D_FVF = (D3DFVF_XYZRHW | D3DFVF_DIFFUSE); struct Vertex {float x, y, z, ht; DWORD yourcolor; } V [4] = {{(float) x, (float) (y + h), 0.0f, 0.0f, Color}, {(float) x, (float) y, 0.0f, 0.0f, kolor} , {(float) (x + w), (float) (y + h), 0.0f, 0.0f, kolor}, {(float) (x + w), (float) y, 0.0f, 0.0f, Kolor } }; pDevice -> SetTexture (0, NULL); pDevice -> SetRenderState (D3DRS_LIGHTING, FALSE); pDevice -> SetRenderState (D3DRS_CULLMODE, D3DCULL_CCW); pDevice -> SetRenderState (D3DRS_ALPHABLLENDENABLE, TRUE); pDevice -> SetRenderState (D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); pDevice -> SetRenderState (D3DRS_ZENABLE, D3DZB_FALSE); pDevice -> SetRenderState (D3DRS_FOGENABLE, false); pDevice -> SetFVF (D3D_FVF); pDevice -> DrawPrimitiveUP (D3DPT_TRIANGLESTRIP, 2, V, sizeof (Vertex)); }   Kiedy używam tej funkcji, dostaję czarny ekran. Powód tego "pDevice-> SetFVF (D3D_FVF);" czemu? Jak naprawić?
Reply
#2
Cóż, dlaczego włożyłeś, Bez mgły w funkcję fillrgba?
Reply
#3
Mgła może zamazać kolor ...
Reply
#4
Zacytować: Napisał KN4CK3R Mgła może zamazać kolor ... Okay, dzięki za informację.
Reply
#5
Zacytować: Kiedy używam tej funkcji, dostaję czarny ekran. Powód tego "pDevice-> SetFVF (D3D_FVF);" czemu? Jak naprawić? Najpierw GetFVF, SetFVF do D3D_FVF, narysuj, przywróć z powrotem (SetFVF do wartości z GetFVF). Trzeba to zrobić tylko raz na klatkę, a nie za każdym razem, gdy chcesz rysować.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)