Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Jak naprawić rendering?
#1
Przepraszam za angielski, użyłem google translate. Zastanawiam się, jak mogę rozwiązać problem z renderowaniem tekstu i pola. Pierwszy obraz odnosi się do menu wstrzykniętego w środowisku testowym D3D9.   Drugi obraz odnosi się do menu już wstrzykniętego do gry.     Postępuj zgodnie z funkcją, aby wyświetlić pole i wyświetlić poniższy tekst:     Kod:   void MostrarBox (int x, int, int w, int h, D3DCOLOR Color, LPDIRECT3DDEVICE9 pD3D9) {struct Vertex {float x, y, z, ht; Kolor DWORD; } V [4] = {{x, y + h, 0.0f, 0.0f, Kolor}, {x, y, 0.0f, 0.01, Kolor}, {x + w, y + h, 0.0f, 0.0f , Kolor}, {x + w, y, 0.0f, 0.0f, kolor}}; pD3D9 -> SetTexture (0, NULL); pD3D9 -> SetPixelShader (0); pD3D9 -> SetFVF (D3DFVF_XYZRHW | D3DFVF_DIFFUSE); pD3D9 -> SetRenderState (D3DRS_ALPHABLLENDENABLE, true); pD3D9 -> SetRenderState (D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); pD3D9 -> SetRenderState (D3DRS_ZENABLE, FALSE); pD3D9 -> SetRenderState (D3DRS_CULLMODE, D3DCULL_NONE); pD3D9 -> DrawPrimitiveUP (D3DPT_TRIANGLESTRIP, 2, V, sizeof (Vertex)); powrót ; }     Kod:   void CriarFonte (LPDIRECT3DDEVICE9 pD3D9) {if (! pFont) {D3DXCreateFont (pD3D9, 15, 0, FW_BOLD, false, false, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial", & pFont); }} void ResetarFonte () {pFont -> OnLostDevice (); pFont -> OnResetDevice (); } Void Texto (int x, int, tekst LPCSTR, kolor DWORD) {RECT rect, rect2; SetRect (i rect, x, y, x, y); SetRect (i rect2, x - 0,1, y + 0,2, x - 0,1, y + 0.); pFont -> DrawTextA (NULL, tekst, - 1, i rect2, DT_LEFT | DT_NOCLIP, 0x00000000); pFont -> DrawTextA (NULL, text, - 1, rect, DT_LEFT | DT_NOCLIP, color); }   Robię hak w końcowej scenie.
Reply
#2
Możesz zmienić sposób korzystania z SetRenderState ... Robisz to w każdym wyciągu, który jest kiepski, zjada wydajność ... Nie tylko, przyjrzyj się bliżej funkcji "ResetarFonte" To się zawiesi. Możesz użyć IDirect3DStateBlock9 i poinformować się o stanach renderowania w DirectX9.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)