1,16 → 1,13 |
use32 |
org 0x0 |
org 0 |
db 'MENUET01' |
dd 0x1 |
dd start |
dd i_end |
dd mem,stacktop |
dd 0,cur_dir_path |
dd 1,start,i_end,mem,stacktop,0,cur_dir_path |
|
include '../../../../../../programs/proc32.inc' |
include '../../../../../../programs/macros.inc' |
include '../../../../../../programs/develop/libraries/box_lib/load_lib.mac' |
include '../../../../../../programs/dll.inc' |
include '../../../../../proc32.inc' |
include '../../../../../macros.inc' |
include '../../../../../KOSfuncs.inc' |
include '../../../../../develop/libraries/box_lib/load_lib.mac' |
include '../../../../../dll.inc' |
include '../opengl_const.inc' |
|
@use_library |
19,10 → 16,10 |
start: |
load_library name_tgl, cur_dir_path, library_path, system_path, \ |
err_message_found_lib, head_f_l, import_lib_tinygl, err_message_import, head_f_i |
cmp eax,-1 |
cmp eax,SF_TERMINATE_PROCESS |
jz button.exit |
|
mcall 40,0x27 |
mcall SF_SET_EVENTS_MASK,0x27 |
|
stdcall [kosglMakeCurrent], 10,10,300,225,ctx1 |
stdcall [glEnable], GL_DEPTH_TEST |
34,9 → 31,9 |
red_win: |
call draw_window |
|
align 4 |
align 16 |
still: |
mcall 10 |
mcall SF_CHECK_EVENT |
cmp al,1 |
jz red_win |
cmp al,2 |
48,19 → 45,19 |
align 4 |
draw_window: |
pushad |
mcall 12,1 |
mcall SF_REDRAW,SSF_BEGIN_DRAW |
|
mov edx,0x33ffffff ;0x73ffffff |
mcall 0,(50 shl 16)+330,(30 shl 16)+275,,,caption |
stdcall [kosglSwapBuffers] |
mcall SF_CREATE_WINDOW,(50 shl 16)+330,(30 shl 16)+275,,,caption |
call [kosglSwapBuffers] |
|
mcall 12,2 |
mcall SF_REDRAW,SSF_END_DRAW |
popad |
ret |
|
align 4 |
key: |
mcall 2 |
mcall SF_GET_KEY |
|
cmp ah,27 ;Esc |
je button.exit |
73,7 → 70,7 |
fadd dword[delt_size] |
fstp dword[angle_z] |
call draw_3d |
stdcall [kosglSwapBuffers] |
call [kosglSwapBuffers] |
@@: |
cmp ah,179 ;Right |
jne @f |
81,7 → 78,7 |
fsub dword[delt_size] |
fstp dword[angle_z] |
call draw_3d |
stdcall [kosglSwapBuffers] |
call [kosglSwapBuffers] |
@@: |
|
jmp still |
88,24 → 85,21 |
|
align 4 |
button: |
mcall 17 |
mcall SF_GET_BUTTON |
cmp ah,1 |
jne still |
.exit: |
mcall -1 |
mcall SF_TERMINATE_PROCESS |
|
|
align 4 |
caption db 'Test tinygl library, [Esc] - exit, [<-] and [->] - rotate',0 |
align 4 |
ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext |
;sizeof.TinyGLContext = 28 |
|
align 4 |
draw_3d: |
stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;очистим буфер цвета и глубины |
|
stdcall [glPushMatrix] |
call [glPushMatrix] |
stdcall [glRotatef], [angle_z],0.0,0.0,1.0 |
|
stdcall [glColor3f],1.0, 0.0, 0.0 |
118,7 → 112,7 |
stdcall [glVertex3f], -0.354,-0.354, 0.1 |
stdcall [glVertex3f], -0.5, 0.0, 0.1 |
stdcall [glVertex3f], -0.354, 0.354, 0.1 |
stdcall [glEnd] |
call [glEnd] |
|
stdcall [glBegin],GL_LINES |
stdcall [glVertex3f], 0, 0.7, 0.3 |
131,9 → 125,9 |
stdcall [glVertex3f], -0.7, 0.0, 0.3 |
stdcall [glColor3f],1.0, 0.0, 0.0 |
stdcall [glVertex3f], -0.495, 0.495, 0.7 |
stdcall [glEnd] |
call [glEnd] |
|
stdcall [glPopMatrix] |
call [glPopMatrix] |
ret |
|
angle_z dd 0.0 |
158,13 → 152,17 |
;-------------------------------------------------- |
system_path db '/sys/lib/' |
name_tgl db 'tinygl.obj',0 |
err_message_found_lib db 'Sorry I cannot load library tinygl.obj',0 |
|
head_f_i: |
head_f_l db 'System error',0 |
err_message_import db 'Error on load import library tinygl.obj',0 |
head_f_l db '"System error',0 |
err_message_import db 'Error on load import library ',39,'tinygl.obj',39,'" -tE',0 |
err_message_found_lib db 'Sorry I cannot load library ',39,'tinygl.obj',39,'" -tE',0 |
;-------------------------------------------------- |
|
align 16 |
i_end: |
ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext |
;sizeof.TinyGLContext = 28 |
rb 1024 |
stacktop: |
cur_dir_path: |