Rev 6286 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6286 | Rev 8059 | ||
---|---|---|---|
Line 10... | Line 10... | ||
10 | offs_qobj_Orientation equ 4 |
10 | offs_qobj_Orientation equ 4 |
11 | offs_qobj_TextureFlag equ 8 |
11 | offs_qobj_TextureFlag equ 8 |
12 | offs_qobj_Normals equ 12 |
12 | offs_qobj_Normals equ 12 |
13 | offs_qobj_ErrorFunc equ 16 |
13 | offs_qobj_ErrorFunc equ 16 |
Line -... | Line 14... | ||
- | 14 | ||
- | 15 | ;Так как некоторые извращенческие функции OpenGL воспринимают только параметры |
|
- | 16 | ;типа double (8 байт) то придется пихать их в стек макросом glpush |
|
- | 17 | macro glpush GLDoubleVar { |
|
- | 18 | push dword[GLDoubleVar+4] |
|
- | 19 | push dword[GLDoubleVar] |
|
- | 20 | } |
|
14 | 21 | ||
15 | ;void drawTorus(float rc, int numc, float rt, int numt) |
22 | ;void drawTorus(float rc, int numc, float rt, int numt) |
16 | ;{ |
23 | ;{ |
Line 17... | Line 24... | ||
17 | ;} |
24 | ;} |
18 | 25 | ||
19 | ;static void normal3f(GLfloat x, GLfloat y, GLfloat z ) |
26 | ;static void normal3f(GLfloat x, GLfloat y, GLfloat z ) |
Line -... | Line 27... | ||
- | 27 | ;{ |
|
- | 28 | ;} |
|
- | 29 | ||
- | 30 | align 4 |
|
20 | ;{ |
31 | an360f dd 360.0 |
- | 32 | ||
- | 33 | align 16 |
|
- | 34 | proc gluPerspective, fovy:qword, aspect:qword, zNear:qword, zFar:qword |
|
- | 35 | locals |
|
- | 36 | mfW dq ? |
|
- | 37 | fW dq ? |
|
- | 38 | mfH dq ? |
|
- | 39 | fH dq ? |
|
- | 40 | endl |
|
- | 41 | fldpi |
|
- | 42 | fmul qword[fovy] |
|
- | 43 | fdiv dword[an360f] |
|
- | 44 | fptan |
|
- | 45 | ffree st0 ;выкидываем 1.0 которая осталось после вычисления тангенса |
|
- | 46 | fincstp |
|
- | 47 | fmul qword[zNear] |
|
- | 48 | fld st0 |
|
- | 49 | fchs |
|
- | 50 | fstp qword[mfH] |
|
- | 51 | fst qword[fH] |
|
- | 52 | fmul qword[aspect] |
|
- | 53 | fld st0 |
|
21 | ;} |
54 | fchs |
- | 55 | fstp qword[mfW] |
|
- | 56 | fstp qword[fW] |
|
- | 57 | ||
- | 58 | glpush zFar |
|
- | 59 | glpush zNear |
|
- | 60 | glpush fH |
|
- | 61 | glpush mfH |
|
- | 62 | glpush fW |
|
22 | 63 | glpush mfW |
|
Line 23... | Line 64... | ||
23 | ;void gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar ) |
64 | call glFrustum |
24 | ;{ |
65 | ret |
25 | ;} |
66 | endp |
26 | 67 |