-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpart0.asm
69 lines (46 loc) · 1.17 KB
/
part0.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
[section .data]
init db 0
%define VERTEXES 3
vertexes db -10, -10, -10,
db 10, 10, 10,
db 5, 7, 9
%define FACES 1
faces db 0,1,2
global _vertexes_t
_vertexes_t dd vertexes_t
__SECT__
struc _face
.v0 resd 1
.v1 resd 1
.v2 resd 1
.col resd 1
endstruc
[section .bss]
x resd 1
y resd 1
z resd 1
vertexes_t resd VERTEXES*2 ; x and y coords for each transformed vertex
face resb _face_size
__SECT__
; edi: pixels
; ebx: pitch
; esi: ddbacksurf
mov ebp, vertexes_t
mov dword [ebp], 150
mov dword [ebp+4], 20
add ebp, 8
mov dword [ebp], 0
mov dword [ebp+4], 0
add ebp, 8
mov dword [ebp], 5
mov dword [ebp+4], 55
mov ebp, face
mov dword [ebp+_face.v0], 0
mov dword [ebp+_face.v1], 1
mov dword [ebp+_face.v2], 2
mov dword [ebp+_face.col], RGB(0xFF,0,0)
push esi
;call draw_triangle_ref_flp_32bpp
call _draw_triangle_c_ref_flp_32bpp
pop esi
emms