-
Notifications
You must be signed in to change notification settings - Fork 1
/
gl.asm
77 lines (60 loc) · 1.08 KB
/
gl.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
70
71
72
73
74
75
76
;;
;; Title: Wanna be sokoban
;; Copyright: 2013 Damian Ziemba
;; Authors: Damian Ziemba <[email protected]>
;; License: GPL
;;
[bits 64]
; exports
global initOpenGL
; imports - program
extern screenHeight
extern screenWidth
extern screenRatio
; imports - GL
extern glShadeModel
extern glClearColor
extern glViewPort
extern glMatrixMode
extern glLoadIdentity
extern glHint
; imports - GLU
extern gluPerspective
section .text
initOpenGL:
;glShadeModel
mov RDI, GL_SMOOTH
call glShadeModel
;glClearColor
mov RCX, 0
mov RDX, 0
mov RSI, 0
mov RDI, 0
call glClearColor
;glViewPort
mov RCX, screenHeight
mov RDX, screenWidth
mov RSI, 0
mov RDI, 0
;glMatrixMode
mov RDI, GL_PROJECTION
call glMatrixMode
;glLoadIdentity
call glLoadIdentity
;gluPerspective
mov RCX, 1024
mov RDX, 1
mov RSI, screenRatio
mov RDI, 60
call gluPerspective
;glHint
mov RSI, GL_NICEST
mov RDI, GL_PERSPECTIVE_CORRECTION_HINT
call glHint
mov RAX, 1
ret
section .data
GL_SMOOTH: equ 0x1D01
GL_PROJECTION: equ 0x1701
GL_PERSPECTIVE_CORRECTION_HINT equ 0x0C50
GL_NICEST equ 0x1102