Rev 6108 | Rev 6126 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6108 | Rev 6113 | ||
---|---|---|---|
Line 26... | Line 26... | ||
26 | l2 dd ? ;ZBufferPoint* |
26 | l2 dd ? ;ZBufferPoint* |
27 | fdx1 dd ? ;float |
27 | fdx1 dd ? ;float |
28 | fdx2 dd ? ;float |
28 | fdx2 dd ? ;float |
29 | fdy1 dd ? ;float |
29 | fdy1 dd ? ;float |
30 | fdy2 dd ? ;float |
30 | fdy2 dd ? ;float |
31 | fz dd ? ;float |
31 | fz dd ? ;float - переменная отвечающая за геометрию фигуры |
32 | d1 dd ? ;float |
32 | d1 dd ? ;float |
33 | d2 dd ? ;float |
33 | d2 dd ? ;float |
34 | pz1 dd ? ;unsigned short* |
34 | pz1 dd ? ;unsigned short* |
35 | pp1 dd ? ;PIXEL* |
35 | pp1 dd ? ;PIXEL* |
36 | part dd ? |
36 | part dd ? |
Line 54... | Line 54... | ||
54 | 54 | ||
55 | pz dd ? ;unsigned short * |
55 | pz dd ? ;unsigned short * |
56 | z dd ? ;uint |
56 | z dd ? ;uint |
Line -... | Line 57... | ||
- | 57 | zz dd ? ;uint |
|
- | 58 | ||
57 | zz dd ? ;uint |
59 | n dd ? ;int - длинна горизонтальной линии в пикселях |
58 | 60 | ||
59 | if INTERP_Z eq 1 |
61 | if INTERP_Z eq 1 |
60 | z1 dd ? ;int |
62 | z1 dd ? ;int |
61 | dzdx dd ? ;int |
63 | dzdx dd ? ;int |
Line 77... | Line 79... | ||
77 | b1 dd ? |
79 | b1 dd ? |
78 | dbdx dd ? |
80 | dbdx dd ? |
79 | dbdy dd ? |
81 | dbdy dd ? |
80 | dbdl_min dd ? |
82 | dbdl_min dd ? |
81 | dbdl_max dd ? |
83 | dbdl_max dd ? |
- | 84 | or1 dd ? ;uint |
|
- | 85 | og1 dd ? ;uint |
|
- | 86 | ob1 dd ? ;uint |
|
82 | end if |
87 | end if |
83 | if INTERP_ST eq 1 |
88 | if INTERP_ST eq 1 |
84 | s1 dd ? ;int |
89 | s1 dd ? ;int |
85 | dsdx dd ? ;int |
- | |
86 | dsdy dd ? ;int |
90 | dsdy dd ? ;int |
87 | dsdl_min dd ? ;int |
91 | dsdl_min dd ? ;int |
88 | dsdl_max dd ? ;int |
92 | dsdl_max dd ? ;int |
89 | t1 dd ? ;int |
93 | t1 dd ? ;int |
90 | dtdx dd ? ;int |
- | |
91 | dtdy dd ? ;int |
94 | dtdy dd ? ;int |
92 | dtdl_min dd ? ;int |
95 | dtdl_min dd ? ;int |
93 | dtdl_max dd ? ;int |
96 | dtdl_max dd ? ;int |
94 | end if |
97 | end if |
95 | if INTERP_STZ eq 1 |
98 | if INTERP_STZ eq 1 |
Line 104... | Line 107... | ||
104 | dtzdl_min dd ? ;float |
107 | dtzdl_min dd ? ;float |
105 | dtzdl_max dd ? ;float |
108 | dtzdl_max dd ? ;float |
106 | s_z dd ? ;float |
109 | s_z dd ? ;float |
107 | t_z dd ? ;float |
110 | t_z dd ? ;float |
108 | end if |
111 | end if |
109 | n dd ? ;int - длинна горизонтальной линии в пикселях |
- | |
110 | if INTERP_RGB eq 1 |
- | |
111 | or1 dd ? ;uint |
- | |
112 | og1 dd ? ;uint |
- | |
113 | ob1 dd ? ;uint |
- | |
114 | end if |
- | |
115 | if INTERP_ST eq 1 |
112 | if (INTERP_ST eq 1) | (DRAW_LINE_M eq 1) |
116 | s dd ? ;uint |
113 | s dd ? ;uint |
117 | t dd ? ;uint |
114 | t dd ? ;uint |
- | 115 | dsdx dd ? ;int |
|
- | 116 | dtdx dd ? ;int |
|
118 | end if |
117 | end if |
119 | - | ||
120 | if DRAW_LINE_M eq 1 |
- | |
121 | DRAW_LINE 0 ;переменные делаются в макросе |
- | |
122 | end if |
- | |
123 | - | ||
124 | endl |
118 | endl |
125 | pushad |
119 | pushad |
Line 126... | Line 120... | ||
126 | 120 | ||
127 | ; we sort the vertex with increasing y |
121 | ; we sort the vertex with increasing y |
Line 685... | Line 679... | ||
685 | .beg_w_lin: |
679 | .beg_w_lin: |
686 | cmp dword[nb_lines],0 ;while (nb_lines>0) |
680 | cmp dword[nb_lines],0 ;while (nb_lines>0) |
687 | jle .end_w_lin |
681 | jle .end_w_lin |
688 | dec dword[nb_lines] |
682 | dec dword[nb_lines] |
689 | if DRAW_LINE_M eq 1 |
683 | if DRAW_LINE_M eq 1 |
690 | DRAW_LINE 1 |
684 | DRAW_LINE |
691 | else |
685 | else |
692 | ; generic draw line |
686 | ; generic draw line |
693 | mov eax,[x2] |
687 | mov eax,[x2] |
694 | sar eax,16 |
688 | sar eax,16 |
695 | mov edi,[x1] |
689 | mov edi,[x1] |
Line 876... | Line 870... | ||
876 | fld dword[dtzdl_min] |
870 | fld dword[dtzdl_min] |
877 | fadd dword[tz1] |
871 | fadd dword[tz1] |
878 | fstp dword[tz1] |
872 | fstp dword[tz1] |
879 | end if |
873 | end if |
880 | .end_er: |
874 | .end_er: |
881 | - | ||
882 | ; right edge |
875 | ; right edge |
883 | mov eax,[dx2dy2] |
876 | mov eax,[dx2dy2] |
884 | add [x2],eax |
877 | add [x2],eax |
Line 885... | Line 878... | ||
885 | 878 |