Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5153 | IgorA | 1 | ; Matrix & Vertex |
2 | |||
3 | align 4 |
||
4 | an180f dd 180.0 ;константа для вычисления углов |
||
5 | |||
6 | struct M4 |
||
7 | m rd 4*4 ;float[4][4] |
||
8 | ends |
||
9 | |||
10 | ; макрос облегчающий доступ к элементам матрицы M4 |
||
11 | ; для доступа к элементам 1-й индекс множится на 16, 2-й на 4: |
||
12 | ; m[i1*16][i2*4], потом все пишется в регистр reg: |
||
13 | ; reg <-- m[i1][i2] |
||
14 | macro M4_reg reg,m,i1,i2 |
||
15 | { |
||
16 | mov reg,i1 ;1-й индекс |
||
17 | if i2 eq 0 |
||
18 | shl reg,4 |
||
19 | else |
||
20 | shl reg,2 |
||
21 | add reg,i2 ;2-й индекс |
||
22 | shl reg,2 |
||
23 | end if |
||
24 | add reg,m ;указатель на начало матрицы |
||
25 | } |
||
26 | |||
27 | struct M3 |
||
28 | m rd 3*3 ;float[3][3] |
||
29 | ends |
||
30 | |||
31 | struct M34 |
||
32 | m rd 3*4 ;float[3][4] |
||
33 | ends |
||
34 | |||
35 | struct V3 |
||
36 | v rd 3 ;float[3] |
||
37 | ends |
||
38 | |||
39 | struct V4 |
||
40 | v rd 4 ;float[4] |
||
41 | ends--> |
||
42 |