Rev 5939 | Rev 6113 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5939 | Rev 6108 | ||
---|---|---|---|
Line 18... | Line 18... | ||
18 | ; В даной версии алгоритм немного другой. В наиболее вероятных местах появления |
18 | ; В даной версии алгоритм немного другой. В наиболее вероятных местах появления |
19 | ; пикселей не правильного цвета (обычно начало и конец линии) иправляеться |
19 | ; пикселей не правильного цвета (обычно начало и конец линии) иправляеться |
20 | ; цвет испорченных пикселей. Цвет получаеться наиболее близким к указанному |
20 | ; цвет испорченных пикселей. Цвет получаеться наиболее близким к указанному |
21 | ; пользователем. |
21 | ; пользователем. |
Line 22... | Line -... | ||
22 | - | ||
23 | t dd ? ;ZBufferPoint* |
22 | |
24 | pr1 dd ? ;ZBufferPoint* |
23 | pr1 dd ? ;ZBufferPoint* |
25 | pr2 dd ? ;ZBufferPoint* |
24 | pr2 dd ? ;ZBufferPoint* |
26 | l1 dd ? ;ZBufferPoint* |
25 | l1 dd ? ;ZBufferPoint* |
27 | l2 dd ? ;ZBufferPoint* |
26 | l2 dd ? ;ZBufferPoint* |
Line 51... | Line 50... | ||
51 | dxdy_max dd ? ;int |
50 | dxdy_max dd ? ;int |
52 | ; warning: x2 is multiplied by 2^16 |
51 | ; warning: x2 is multiplied by 2^16 |
53 | x2 dd ? ;int |
52 | x2 dd ? ;int |
54 | dx2dy2 dd ? ;int |
53 | dx2dy2 dd ? ;int |
Line -... | Line 54... | ||
- | 54 | ||
- | 55 | pz dd ? ;unsigned short * |
|
- | 56 | z dd ? ;uint |
|
- | 57 | zz dd ? ;uint |
|
55 | 58 | ||
56 | if INTERP_Z eq 1 |
59 | if INTERP_Z eq 1 |
57 | z1 dd ? ;int |
60 | z1 dd ? ;int |
58 | dzdx dd ? ;int |
61 | dzdx dd ? ;int |
59 | dzdy dd ? ;int |
62 | dzdy dd ? ;int |
Line 98... | Line 101... | ||
98 | tz1 dd ? ;float |
101 | tz1 dd ? ;float |
99 | dtzdx dd ? ;float |
102 | dtzdx dd ? ;float |
100 | dtzdy dd ? ;float |
103 | dtzdy dd ? ;float |
101 | dtzdl_min dd ? ;float |
104 | dtzdl_min dd ? ;float |
102 | dtzdl_max dd ? ;float |
105 | dtzdl_max dd ? ;float |
- | 106 | s_z dd ? ;float |
|
- | 107 | t_z dd ? ;float |
|
103 | end if |
108 | end if |
104 | - | ||
105 | - | ||
106 | if DRAW_LINE_M eq 1 |
- | |
107 | DRAW_LINE 0 ;переменные делаются в макросе |
- | |
108 | else |
- | |
109 | n dd ? ;int - длинна горизонтальной линии в пикселях |
109 | n dd ? ;int - длинна горизонтальной линии в пикселях |
110 | if INTERP_Z eq 1 |
- | |
111 | pz dd ? ;unsigned short * |
- | |
112 | z dd ? ;uint |
- | |
113 | zz dd ? ;uint |
- | |
114 | end if |
- | |
115 | if INTERP_RGB eq 1 |
110 | if INTERP_RGB eq 1 |
116 | or1 dd ? ;uint |
111 | or1 dd ? ;uint |
117 | og1 dd ? ;uint |
112 | og1 dd ? ;uint |
118 | ob1 dd ? ;uint |
113 | ob1 dd ? ;uint |
119 | end if |
114 | end if |
120 | if INTERP_ST eq 1 |
115 | if INTERP_ST eq 1 |
121 | s dd ? ;uint |
116 | s dd ? ;uint |
122 | t dd ? ;uint |
117 | t dd ? ;uint |
123 | end if |
118 | end if |
- | 119 | ||
124 | if INTERP_STZ eq 1 |
120 | if DRAW_LINE_M eq 1 |
125 | s_z dd ? ;float |
- | |
126 | t_z dd ? ;float |
121 | DRAW_LINE 0 ;переменные делаются в макросе |
127 | end if |
- | |
128 | end if |
122 | end if |
Line 129... | Line 123... | ||
129 | 123 | ||
130 | endl |
124 | endl |
Line 131... | Line -... | ||
131 | pushad |
- | |
132 | - | ||
133 | if DEBUG ;(1) |
- | |
134 | stdcall dbg_print,f_fill_tr,m_1 |
- | |
135 | end if |
125 | pushad |
136 | 126 | ||
137 | ; we sort the vertex with increasing y |
127 | ; we sort the vertex with increasing y |
138 | mov ebx,[p0] |
128 | mov ebx,[p0] |
139 | mov ecx,[p1] |
129 | mov ecx,[p1] |