Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Funkcje rysowania D3D (dużo)
#1
Opublikuj moje rysunkowe funki tutaj, baw się z tym.   Cóż, dzięki s0beit dla jego funkcji Rect.         Kod:   #include "Direct.h" void DrawCenterLine (float x, float y, int r, int g, int b, int a) {static ID3DXLine * pLine3; jeśli (! pLine3) D3DXCreateLine (dx_Device i pLine3); D3DXVECTOR2 dLine1 [2]; pLine3 -> SetWidth (1); pLine3 -> SetAntialias (true); pLine3 -> SetGLLines (true); dLine1 [0]. x = szerokość / 2; dLine1 [0]. y = 0; dLine1 [1]. x = x; dLine1 [1]. y = y; pLine3 -> Draw (dLine1, 2, D3DCOLOR_ARGB (a, r, g, b)); } void DrawLine (float x, float y, float xx, float yy, int r, int g, int b, int a) {static ID3DXLine * pLine1; jeśli (! pLine1) D3DXCreateLine (dx_Device i pLine1); D3DXVECTOR2 dLine [2]; pLine1 -> SetWidth (1); pLine1 -> SetAntialias (true); pLine1 -> SetGLLines (true); dLine [0]. x = x; dLine [0]. y = y; dLine [1]. x = xx; dLine [1]. y = yy; pLine1 -> Draw (dLine, 2, D3DCOLOR_ARGB (a, r, g, b)); } void FillRGB (float x, float y, float w, float h, int r, int g, int b, int a) {static ID3DXLine * pLine; jeśli (! pLine) D3DXCreateLine (dx_Device, & pLine); D3DXVECTOR2 vLine [2]; pLine -> SetWidth (w); pLine -> SetAntialias (fałsz); pLine -> SetGLLines (true); vLine [0]. x = x + w / 2; vLine [0]. y = y; vLine [1]. x = x + w / 2; vLine [1]. y = y + h; pLine -> Begin (); pLine -> Draw (vLine, 2, D3DCOLOR_RGBA (r, g, b, a)); pLine -> End (); } void DrawBox (float x, float y, szerokość float, wysokość float, float px, int r, int g, int b, int a) {FillRGB (x, y + wysokość, szerokość, px, r, g, b, a); FillRGB (x - px, y, px, wysokość, r, g, b, a); FillRGB (x, y - px, szerokość, px, r, g, b, a); FillRGB (x + szerokość, y, px, wysokość, r, g, b, a); } void DrawGUIBox (float x, float y, float w, float h, int r, int g, int b, int a, int rr, int gg, int bb, int aa) {DrawBox (x, y, w, h , 1, r, g, b, a); // Kontur ciała FillRGB (x, y, w, h, rr, gg, bb, a); // Kolor ciała} int DrawFont (char * String, int x, int, int r, int g, int b) {RECT Czcionka; Czcionka . bottom = 0; Czcionka . left = x; Czcionka . top = y; Czcionka . right = 0; dx_Font -> DrawTextA (0, string, strlen (String) i czcionka, DT_NOCLIP, D3DCOLOR_ARGB (255, r, g, b)); return 0; } int DrawShadowFont (char * String, int x, int, int r, int g, int b) {RECT Czcionka; Czcionka . bottom = 0; Czcionka . left = x; Czcionka . top = y; Czcionka . right = 0; Czcionki RECT; Czcionki. bottom = 0; Czcionki. left = x + 1; Czcionki. top = y; Czcionki. right = 0; Czcionki RECT1; Czcionki1. bottom = 0; Czcionki1. left = x - 1; Czcionki1. top = y; Czcionki1. right = 0; Czcionki RECT2; Czcionki2. bottom = 0; Czcionki2. left = x; Czcionki2. top = y + 1; Czcionki2. right = 0; Czcionki RECT3; Czcionki3. bottom = 0; Czcionki3. left = x; Czcionki3. top = y - 1; Czcionki3. right = 0; dx_Font -> DrawTextA (0, String, strlen (String) i Fonts3, DT_NOCLIP, D3DCOLOR_ARGB (255, 1, 1, 1)); dx_Font -> DrawTextA (0, String, strlen (String) i Fonts2, DT_NOCLIP, D3DCOLOR_ARGB (255, 1, 1, 1)); dx_Font -> DrawTextA (0, String, strlen (String) i Fonts1, DT_NOCLIP, D3DCOLOR_ARGB (255, 1, 1, 1)); dx_Font -> DrawTextA (0, łańcuch, strlen (łańcuch) i czcionki, DT_NOCLIP, D3DCOLOR_ARGB (255, 1, 1, 1)); dx_Font -> DrawTextA (0, string, strlen (String) i czcionka, DT_NOCLIP, D3DCOLOR_ARGB (255, r, g, b)); return 0; }
Reply
#2
Wow, + rep.
Reply
#3
Zacytować: Originally Posted by newtechnology Wow, + rep. Dzięki, tylko moja mała kolekcja dodała koło, wypełnione kółko, trójkąt.
Reply
#4
dis .. jest .. założenie !!
Reply
#5
Mimo że doceniam wysiłek OP na rzecz publikowania, został on wysłany tysiące razy wcześniej i został opublikowany z różnymi alternatywami, takimi jak DrawPrimitiveUP / DrawIndexedPrimitive, itp. p.s To renderowanie tekstu będzie leciało jak piekło ...
Reply
#6
Zacytować: Napisał Pyro666 Mimo że doceniam wysiłek OP na rzecz publikowania, został on wysłany tysiące razy wcześniej i został opublikowany z różnymi alternatywami, takimi jak DrawPrimitiveUP / DrawIndexedPrimitive, itp. p.s To renderowanie tekstu będzie leciało jak piekło ... Zgoda. W obu przypadkach faktycznie. Widziałem to ponad 5 razy na forach mogą być publikowane więcej nie wiem. Ale także tekst faktycznie laga się jak diabli. Użyłem go w Combat Arms, gdy zacząłem mój hack =)
Reply
#7
Wszystko to działa bardzo dobrze. Pokaż mi tysiące wątków na ten temat ... Tekst nie opóźnia się ... P. S: uwalniam, ponieważ niektórzy ludzie mnie pytają
Reply
#8
Zacytować: Napisał pierwotnie str1k3r21 Zgoda. W obu przypadkach faktycznie. Widziałem to ponad 5 razy na forach mogą być publikowane więcej nie wiem. Ale także tekst faktycznie laga się jak diabli. Użyłem go w Combat Arms, gdy zacząłem mój hack =) Święte cycki długo nie widzą ... Witaj ponownie Zacytować: Napisał Grab Wszystko to działa bardzo dobrze. Pokaż mi tysiące wątków na ten temat ... Tekst nie opóźnia się ... P. S: uwalniam, ponieważ niektórzy ludzie mnie pytają Tak jak powiedziałem, doceniam, że poświęciłeś czas, aby wnieść swój wkład, ale jesteś bardzo zły. Tekst jest opóźniony. Spróbuj renderować 1000 + ciągów inb4 shit storm of lag lolz Poza tym istnieje wiele innych tematów, wystarczy zajrzeć do sekcji samouczka d3d. Jest to również udokumentowane w SDK MSDX. Tak jak powiedziałem wcześniej, lepiej byłoby używać indeksowanych prymitywów z renderowaniem w partiach (to samo dotyczy tekstu) P.S: Dlaczego tworzysz wiele interfejsów liniowych? (Nie powinieneś nawet tworzyć jednego, aby być całkowicie szczerym! Używaj prymitywów) Poza tym nie bierzesz pod uwagę żadnego resetowania interfejsów.
Reply
#9
Zacytować: Napisał Pyro666 Święte cycki długo nie widzą ... Witaj ponownie Tak jak powiedziałem, doceniam, że poświęciłeś czas, aby wnieść swój wkład, ale jesteś bardzo zły. Tekst jest opóźniony. Spróbuj renderować 1000 + ciągów inb4 shit storm of lag lolz Poza tym istnieje wiele innych tematów, wystarczy zajrzeć do sekcji samouczka d3d. Jest to również udokumentowane w SDK MSDX. Tak jak powiedziałem wcześniej, lepiej byłoby używać indeksowanych prymitywów z renderowaniem w partiach (to samo dotyczy tekstu) P.S: Dlaczego tworzysz wiele interfejsów liniowych? (Nie powinieneś nawet tworzyć jednego, aby być całkowicie szczerym! Używaj prymitywów) Poza tym nie bierzesz pod uwagę żadnego resetowania interfejsów. Cóż, jeśli chcesz narysować ponad 1000 tekstów, baw się dobrze. To tylko mój zewnętrzny hack.
Reply
#10
lody, używasz klasy, ale kontrolujesz rysunek definiując ... Wtedy możesz po prostu rzucić to wszystko w przestrzeń nazw. Pomysł z takimi klasami polega na tym, że definiujesz abstrakcyjną klasę podstawową i wyprowadzasz z niej szczegóły implementacji. Wykonaj to poprawnie, a na przykład, aby zmienić sposób renderowania z dx na ogl, wszystko, co musisz zrobić, to utworzyć kolejną klasę.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)