Rev 2881 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2881 | Rev 6769 | ||
---|---|---|---|
Line 26... | Line 26... | ||
26 | fisub word[esi+z3d] |
26 | fisub word[esi+z3d] |
27 | fstp dword[ebx+vec_z] |
27 | fstp dword[ebx+vec_z] |
Line 28... | Line 28... | ||
28 | 28 | ||
29 | ret |
29 | ret |
- | 30 | end if |
|
- | 31 | reverse_mx_3x3: |
|
- | 32 | ; esi - source matrix |
|
- | 33 | ; edi - desired reversed matrix |
|
- | 34 | ||
- | 35 | push ebp |
|
- | 36 | mov ebp,esp |
|
- | 37 | sub esp,4 |
|
- | 38 | .det equ ebp-4 |
|
- | 39 | ||
- | 40 | fninit |
|
- | 41 | fld dword[esi] |
|
- | 42 | fmul dword[esi+16] |
|
- | 43 | fmul dword[esi+32] |
|
- | 44 | fld dword[esi+12] |
|
- | 45 | fmul dword[esi+28] |
|
- | 46 | fmul dword[esi+8] |
|
- | 47 | faddp |
|
- | 48 | fld dword[esi+24] |
|
- | 49 | fmul dword[esi+4] |
|
- | 50 | fmul dword[esi+20] |
|
- | 51 | faddp |
|
- | 52 | fld dword[esi] |
|
- | 53 | fmul dword[esi+28] |
|
- | 54 | fmul dword[esi+20] |
|
- | 55 | fchs |
|
- | 56 | faddp |
|
- | 57 | fld dword[esi+24] |
|
- | 58 | fmul dword[esi+16] |
|
- | 59 | fmul dword[esi+8] |
|
- | 60 | fchs |
|
- | 61 | faddp |
|
- | 62 | fld dword[esi+12] |
|
- | 63 | fmul dword[esi+4] |
|
- | 64 | fmul dword[esi+32] |
|
- | 65 | fchs |
|
- | 66 | faddp |
|
- | 67 | fstp dword[.det] |
|
- | 68 | cmp dword[.det],0 |
|
- | 69 | jne @f |
|
- | 70 | int3 |
|
- | 71 | @@: |
|
- | 72 | ; fld1 |
|
- | 73 | ; fdiv dword[.det] |
|
- | 74 | ; fstp dword[.det] |
|
- | 75 | ||
- | 76 | fld dword[esi+16] |
|
- | 77 | fmul dword[esi+32] |
|
- | 78 | fld dword[esi+20] |
|
- | 79 | fmul dword[esi+28] |
|
- | 80 | fchs |
|
- | 81 | faddp |
|
- | 82 | fdiv dword[.det] |
|
- | 83 | fstp dword[edi] |
|
- | 84 | ||
- | 85 | fld dword[esi+8] |
|
- | 86 | fmul dword[esi+28] |
|
- | 87 | fld dword[esi+4] |
|
- | 88 | fmul dword[esi+32] |
|
- | 89 | fchs |
|
- | 90 | faddp |
|
- | 91 | fdiv dword[.det] |
|
- | 92 | fstp dword[edi+4] |
|
- | 93 | ||
- | 94 | fld dword[esi+4] |
|
- | 95 | fmul dword[esi+20] |
|
- | 96 | fld dword[esi+8] |
|
- | 97 | fmul dword[esi+16] |
|
- | 98 | fchs |
|
- | 99 | faddp |
|
- | 100 | fdiv dword[.det] |
|
- | 101 | fstp dword[edi+8] |
|
- | 102 | ||
- | 103 | fld dword[esi+20] |
|
- | 104 | fmul dword[esi+24] |
|
- | 105 | fld dword[esi+12] |
|
- | 106 | fmul dword[esi+32] |
|
- | 107 | fchs |
|
- | 108 | faddp |
|
- | 109 | fdiv dword[.det] |
|
- | 110 | fstp dword[edi+12] |
|
- | 111 | ||
- | 112 | fld dword[esi] |
|
- | 113 | fmul dword[esi+32] |
|
- | 114 | fld dword[esi+8] |
|
- | 115 | fmul dword[esi+24] |
|
- | 116 | fchs |
|
- | 117 | faddp |
|
- | 118 | fdiv dword[.det] |
|
- | 119 | fstp dword[edi+16] |
|
- | 120 | ||
- | 121 | fld dword[esi+8] |
|
- | 122 | fmul dword[esi+12] |
|
- | 123 | fld dword[esi] |
|
- | 124 | fmul dword[esi+20] |
|
- | 125 | fchs |
|
- | 126 | faddp |
|
- | 127 | fdiv dword[.det] |
|
- | 128 | fstp dword[edi+20] |
|
- | 129 | ||
- | 130 | fld dword[esi+12] |
|
- | 131 | fmul dword[esi+28] |
|
- | 132 | fld dword[esi+16] |
|
- | 133 | fmul dword[esi+24] |
|
- | 134 | fchs |
|
- | 135 | faddp |
|
- | 136 | fdiv dword[.det] |
|
- | 137 | fstp dword[edi+24] |
|
- | 138 | ||
- | 139 | fld dword[esi+4] |
|
- | 140 | fmul dword[esi+24] |
|
- | 141 | fld dword[esi] |
|
- | 142 | fmul dword[esi+28] |
|
- | 143 | fchs |
|
- | 144 | faddp |
|
- | 145 | fdiv dword[.det] |
|
- | 146 | fstp dword[edi+28] |
|
- | 147 | ||
- | 148 | fld dword[esi] |
|
- | 149 | fmul dword[esi+16] |
|
- | 150 | fld dword[esi+4] |
|
- | 151 | fmul dword[esi+12] |
|
- | 152 | fchs |
|
- | 153 | faddp |
|
- | 154 | fdiv dword[.det] |
|
- | 155 | fstp dword[edi+32] |
|
- | 156 | ||
- | 157 | ||
- | 158 | mov esp,ebp |
|
- | 159 | pop ebp |
|
- | 160 | ret |
|
30 | end if |
161 | |
31 | make_vector_r: |
162 | make_vector_r: |
32 | fninit |
163 | fninit |
33 | fld dword[edi] ;edi+x3d |
164 | fld dword[edi] ;edi+x3d |
34 | fsub dword[esi] ;esi+x3d |
165 | fsub dword[esi] ;esi+x3d |
Line 209... | Line 340... | ||
209 | fld .sinx |
340 | fld .sinx |
210 | fmul .sinz |
341 | fmul .sinz |
211 | faddp |
342 | faddp |
212 | fstp dword[edi+24] |
343 | fstp dword[edi+24] |
Line 213... | Line 344... | ||
213 | 344 | ||
214 | fld .siny |
345 | fld .cosy |
215 | fmul .sinz |
346 | fmul .sinz |
Line 216... | Line 347... | ||
216 | fstp dword[edi+4] |
347 | fstp dword[edi+4] |
217 | 348 | ||
Line 375... | Line 506... | ||
375 | ; edi - offset to 2d points ( as 3 words integer) |
506 | ; edi - offset to 2d points ( as 3 words integer) |
376 | ; ecx - number of points |
507 | ; ecx - number of points |
377 | translate_points: ; just convert into integer; z coord still needed |
508 | translate_points: ; just convert into integer; z coord still needed |
378 | fninit |
509 | fninit |
379 | .again: |
510 | .again: |
- | 511 | if 0 |
|
380 | fld dword[esi+8] |
512 | fld dword[esi+8] |
381 | ; fmul [rsscale] |
513 | ; fmul [rsscale] |
382 | fist word[edi+4] |
514 | fist word[edi+4] |
Line 383... | Line 515... | ||
383 | 515 | ||
Line 401... | Line 533... | ||
401 | fdivrp ; st0,st1 |
533 | fdivrp ; st0,st1 |
Line 402... | Line 534... | ||
402 | 534 | ||
403 | fiadd [yobs] |
535 | fiadd [yobs] |
404 | fiadd [vect_y] |
536 | fiadd [vect_y] |
405 | fistp word[edi+2] |
537 | fistp word[edi+2] |
- | 538 | end if |
|
- | 539 | ; movups xmm0,[esi] |
|
- | 540 | ; cvtps2dq xmm0,xmm0 |
|
- | 541 | ; packsdw xmm0,xmm0 |
|
- | 542 | ; movq [edi] |
|
- | 543 | fld dword[esi] |
|
- | 544 | fiadd [vect_x] |
|
- | 545 | fistp word[edi] |
|
- | 546 | fld dword[esi+4] |
|
- | 547 | fiadd [vect_y] |
|
- | 548 | fistp word[edi+2] |
|
- | 549 | fld dword[esi+8] |
|
406 | 550 | fistp word[edi+4] |
|
407 | add esi,12 |
551 | add esi,12 |
408 | add edi,6 |
552 | add edi,6 |
409 | dec ecx |
553 | dec ecx |