Rev 7929 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7929 | Rev 8174 | ||
---|---|---|---|
Line 6... | Line 6... | ||
6 | include '../../../../../proc32.inc' |
6 | include '../../../../../proc32.inc' |
7 | include '../../../../../macros.inc' |
7 | include '../../../../../macros.inc' |
8 | include '../../../../../KOSfuncs.inc' |
8 | include '../../../../../KOSfuncs.inc' |
9 | include '../../../../../load_img.inc' |
9 | include '../../../../../load_img.inc' |
10 | include '../opengl_const.inc' |
10 | include '../opengl_const.inc' |
- | 11 | include '../zbuffer.inc' |
|
11 | include '../../../../../develop/info3ds/info_fun_float.inc' |
12 | include '../../../../../develop/info3ds/info_fun_float.inc' |
Line 12... | Line 13... | ||
12 | 13 | ||
Line -... | Line 14... | ||
- | 14 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
|
- | 15 | ||
- | 16 | ;Макрос для параметров типа double (8 байт) |
|
- | 17 | macro glpush GLDoubleVar { |
|
- | 18 | push dword[GLDoubleVar+4] |
|
- | 19 | push dword[GLDoubleVar] |
|
13 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
20 | } |
14 | 21 | ||
15 | align 4 |
22 | align 4 |
Line 16... | Line -... | ||
16 | image_data_toolbar dd 0 |
- | |
17 | IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3 |
- | |
18 | 23 | image_data_toolbar dd 0 |
|
19 | offs_zbuf_pbuf equ 24 ;const. from 'zbuffer.inc' |
24 | IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3 |
20 | 25 | ||
21 | align 4 |
26 | align 4 |
22 | start: |
27 | start: |
Line 36... | Line 41... | ||
36 | mcall SF_SET_EVENTS_MASK,0x27 |
41 | mcall SF_SET_EVENTS_MASK,0x27 |
Line 37... | Line 42... | ||
37 | 42 | ||
38 | stdcall [kosglMakeCurrent], 5,30,[buf_ogl.w],[buf_ogl.h],ctx1 |
43 | stdcall [kosglMakeCurrent], 5,30,[buf_ogl.w],[buf_ogl.h],ctx1 |
39 | stdcall [glEnable], GL_DEPTH_TEST |
44 | stdcall [glEnable], GL_DEPTH_TEST |
40 | stdcall [glEnable], GL_NORMALIZE ;делам нормали одинаковой величины во избежание артефактов |
45 | stdcall [glEnable], GL_NORMALIZE ;делам нормали одинаковой величины во избежание артефактов |
41 | stdcall [gluNewQuadric] |
46 | call [gluNewQuadric] |
42 | mov [qObj],eax |
47 | mov [qObj],eax |
Line 43... | Line 48... | ||
43 | stdcall [gluQuadricTexture], eax,GL_TRUE |
48 | stdcall [gluQuadricTexture], eax,GL_TRUE |
44 | 49 | ||
Line 45... | Line 50... | ||
45 | stdcall [glClearColor], 0.25,0.25,0.25,0.0 |
50 | stdcall [glClearColor], 0.25,0.25,0.25,0.0 |
46 | stdcall [glShadeModel], GL_SMOOTH |
51 | stdcall [glShadeModel], GL_SMOOTH |
47 | 52 | ||
48 | mov eax,dword[ctx1] ;eax -> TinyGLContext.GLContext |
53 | mov eax,dword[ctx1] ;eax -> TinyGLContext.GLContext |
Line 49... | Line 54... | ||
49 | mov eax,[eax] ;eax -> ZBuffer |
54 | mov eax,[eax] ;eax -> ZBuffer |
50 | mov eax,[eax+offs_zbuf_pbuf] ;eax -> ZBuffer.pbuf |
55 | mov eax,[eax+ZBuffer.pbuf] |
51 | mov dword[buf_ogl],eax |
56 | mov dword[buf_ogl],eax |
Line 288... | Line 293... | ||
288 | 293 | ||
289 | align 4 |
294 | align 4 |
290 | draw_3d: |
295 | draw_3d: |
Line 291... | Line 296... | ||
291 | stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;очистим буфер цвета и глубины |
296 | stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;очистим буфер цвета и глубины |
292 | 297 | ||
293 | stdcall [glPushMatrix] |
298 | call [glPushMatrix] |
294 | stdcall [glTranslatef], 0.0,0.0,0.5 |
299 | stdcall [glTranslatef], 0.0,0.0,0.5 |
295 | stdcall [glScalef], [scale], [scale], [scale] |
300 | stdcall [glScalef], [scale], [scale], [scale] |
Line 373... | Line 378... | ||
373 | stdcall [glTexCoord2f], 1.0f, 1.0f |
378 | stdcall [glTexCoord2f], 1.0f, 1.0f |
374 | stdcall [glVertex3f], -1.0f, 1.0f, 1.0f ; Верх право |
379 | stdcall [glVertex3f], -1.0f, 1.0f, 1.0f ; Верх право |
375 | stdcall [glTexCoord2f], 0.0f, 1.0f |
380 | stdcall [glTexCoord2f], 0.0f, 1.0f |
376 | stdcall [glVertex3f], -1.0f, 1.0f, -1.0f ; Верх лево |
381 | stdcall [glVertex3f], -1.0f, 1.0f, -1.0f ; Верх лево |
Line 377... | Line 382... | ||
377 | 382 | ||
378 | stdcall [glEnd] |
383 | call [glEnd] |
379 | @@: |
384 | @@: |
Line 380... | Line 385... | ||
380 | stdcall [glPopMatrix] |
385 | call [glPopMatrix] |
381 | 386 | ||
382 | stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_scale,5,5,0xffff00 |
387 | stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_scale,5,5,0xffff00 |
383 | stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_angle_z,5,15,0xffff00 |
388 | stdcall [buf2d_draw_text], buf_ogl, buf_1,txt_angle_z,5,15,0xffff00 |
Line 471... | Line 476... | ||
471 | sz_buf2d_set_pixel db 'buf2d_set_pixel',0 |
476 | sz_buf2d_set_pixel db 'buf2d_set_pixel',0 |
Line 472... | Line 477... | ||
472 | 477 | ||
473 | align 4 |
478 | align 4 |
474 | import_libimg: |
479 | import_libimg: |
475 | dd alib_init1 |
480 | dd alib_init1 |
476 | img_is_img dd aimg_is_img |
481 | ; img_is_img dd aimg_is_img |
477 | img_info dd aimg_info |
482 | ; img_info dd aimg_info |
478 | img_from_file dd aimg_from_file |
483 | ; img_from_file dd aimg_from_file |
479 | img_to_file dd aimg_to_file |
484 | ; img_to_file dd aimg_to_file |
480 | img_from_rgb dd aimg_from_rgb |
485 | ; img_from_rgb dd aimg_from_rgb |
481 | img_to_rgb dd aimg_to_rgb |
486 | ; img_to_rgb dd aimg_to_rgb |
482 | img_to_rgb2 dd aimg_to_rgb2 |
487 | img_to_rgb2 dd aimg_to_rgb2 |
483 | img_decode dd aimg_decode |
488 | img_decode dd aimg_decode |
484 | img_encode dd aimg_encode |
489 | ; img_encode dd aimg_encode |
485 | img_create dd aimg_create |
490 | ; img_create dd aimg_create |
486 | img_destroy dd aimg_destroy |
491 | img_destroy dd aimg_destroy |
487 | img_destroy_layer dd aimg_destroy_layer |
492 | ; img_destroy_layer dd aimg_destroy_layer |
488 | img_count dd aimg_count |
493 | ; img_count dd aimg_count |
489 | img_lock_bits dd aimg_lock_bits |
494 | ; img_lock_bits dd aimg_lock_bits |
490 | img_unlock_bits dd aimg_unlock_bits |
495 | ; img_unlock_bits dd aimg_unlock_bits |
491 | img_flip dd aimg_flip |
496 | ; img_flip dd aimg_flip |
492 | img_flip_layer dd aimg_flip_layer |
497 | ; img_flip_layer dd aimg_flip_layer |
493 | img_rotate dd aimg_rotate |
498 | ; img_rotate dd aimg_rotate |
494 | img_rotate_layer dd aimg_rotate_layer |
499 | ; img_rotate_layer dd aimg_rotate_layer |
- | 500 | ; img_draw dd aimg_draw |
|
Line 495... | Line 501... | ||
495 | img_draw dd aimg_draw |
501 | ; img_convert dd aimg_convert |
496 | 502 | ||
497 | dd 0,0 |
503 | dd 0,0 |
498 | alib_init1 db 'lib_init',0 |
504 | alib_init1 db 'lib_init',0 |
499 | aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение |
505 | ; aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение |
500 | aimg_info db 'img_info',0 |
506 | ; aimg_info db 'img_info',0 |
501 | aimg_from_file db 'img_from_file',0 |
507 | ; aimg_from_file db 'img_from_file',0 |
502 | aimg_to_file db 'img_to_file',0 |
508 | ; aimg_to_file db 'img_to_file',0 |
503 | aimg_from_rgb db 'img_from_rgb',0 |
509 | ; aimg_from_rgb db 'img_from_rgb',0 |
504 | aimg_to_rgb db 'img_to_rgb',0 ;преобразование изображения в данные RGB |
510 | ; aimg_to_rgb db 'img_to_rgb',0 ;преобразование изображения в данные RGB |
505 | aimg_to_rgb2 db 'img_to_rgb2',0 |
511 | aimg_to_rgb2 db 'img_to_rgb2',0 |
506 | aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных |
512 | aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных |
507 | aimg_encode db 'img_encode',0 |
513 | ; aimg_encode db 'img_encode',0 |
508 | aimg_create db 'img_create',0 |
514 | ; aimg_create db 'img_create',0 |
509 | aimg_destroy db 'img_destroy',0 |
515 | aimg_destroy db 'img_destroy',0 |
510 | aimg_destroy_layer db 'img_destroy_layer',0 |
516 | ; aimg_destroy_layer db 'img_destroy_layer',0 |
511 | aimg_count db 'img_count',0 |
517 | ; aimg_count db 'img_count',0 |
512 | aimg_lock_bits db 'img_lock_bits',0 |
518 | ; aimg_lock_bits db 'img_lock_bits',0 |
513 | aimg_unlock_bits db 'img_unlock_bits',0 |
519 | ; aimg_unlock_bits db 'img_unlock_bits',0 |
514 | aimg_flip db 'img_flip',0 |
520 | ; aimg_flip db 'img_flip',0 |
515 | aimg_flip_layer db 'img_flip_layer',0 |
521 | ; aimg_flip_layer db 'img_flip_layer',0 |
516 | aimg_rotate db 'img_rotate',0 |
522 | ; aimg_rotate db 'img_rotate',0 |
- | 523 | ; aimg_rotate_layer db 'img_rotate_layer',0 |
|
Line 517... | Line 524... | ||
517 | aimg_rotate_layer db 'img_rotate_layer',0 |
524 | ; aimg_draw db 'img_draw',0 |
518 | aimg_draw db 'img_draw',0 |
525 | ; aimg_convert db 'img_convert',0 |
519 | 526 | ||
520 | ;-------------------------------------------------- |
527 | ;-------------------------------------------------- |
Line 577... | Line 584... | ||
577 | err_msg_found_lib_2, head_f_l, import_libimg, err_msg_import_2, head_f_i |
584 | err_msg_found_lib_2, head_f_l, import_libimg, err_msg_import_2, head_f_i |
578 | l_libs_end: |
585 | l_libs_end: |
Line 579... | Line 586... | ||
579 | 586 | ||
580 | align 4 |
587 | align 4 |
581 | i_end: |
- | |
582 | ctx1 db 28 dup (0) ;TinyGLContext or KOSGLContext |
588 | i_end: |
583 | ;sizeof.TinyGLContext = 28 |
589 | ctx1 rb 28 ;sizeof.TinyGLContext = 28 |
584 | dr_figure dd 0 |
590 | dr_figure dd 0 |
585 | qObj dd 0 |
591 | qObj dd 0 |
586 | TexObj dd 0 ;массив указателей на текстуры (в данном случае 1 шт.) |
592 | TexObj dd 0 ;массив указателей на текстуры (в данном случае 1 шт.) |
587 | texture dd 0 ;указатель на память с текстурой |
593 | texture dd 0 ;указатель на память с текстурой |