Rev 6243 | Rev 8063 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6243 | Rev 6523 | ||
---|---|---|---|
Line 17... | Line 17... | ||
17 | fld1 |
17 | fld1 |
18 | fdiv dword[ebx+offs_vert_pc+offs_W] ;st0 = 1/v.pc.W |
18 | fdiv dword[ebx+offs_vert_pc+offs_W] ;st0 = 1/v.pc.W |
Line 19... | Line 19... | ||
19 | 19 | ||
20 | fld dword[ebx+offs_vert_pc+offs_X] ;st0 = v.pc.X |
20 | fld dword[ebx+offs_vert_pc+offs_X] ;st0 = v.pc.X |
21 | fmul st0,st1 |
21 | fmul st0,st1 |
22 | fmul dword[eax+offs_cont_viewport+offs_vpor_scale+offs_X] |
22 | fmul dword[eax+GLContext.viewport+offs_vpor_scale+offs_X] |
23 | fadd dword[eax+offs_cont_viewport+offs_vpor_trans+offs_X] |
23 | fadd dword[eax+GLContext.viewport+offs_vpor_trans+offs_X] |
Line 24... | Line 24... | ||
24 | fistp dword[ebx+offs_vert_zp] ;v.zp.x = st0, st0 = st1 |
24 | fistp dword[ebx+offs_vert_zp] ;v.zp.x = st0, st0 = st1 |
25 | 25 | ||
26 | fld dword[ebx+offs_vert_pc+offs_Y] ;st0 = v.pc.Y |
26 | fld dword[ebx+offs_vert_pc+offs_Y] ;st0 = v.pc.Y |
27 | fmul st0,st1 |
27 | fmul st0,st1 |
28 | fmul dword[eax+offs_cont_viewport+offs_vpor_scale+offs_Y] |
28 | fmul dword[eax+GLContext.viewport+offs_vpor_scale+offs_Y] |
Line 29... | Line 29... | ||
29 | fadd dword[eax+offs_cont_viewport+offs_vpor_trans+offs_Y] |
29 | fadd dword[eax+GLContext.viewport+offs_vpor_trans+offs_Y] |
30 | fistp dword[ebx+offs_vert_zp+offs_zbup_y] ;v.zp.y = st0, st0 = st1 |
30 | fistp dword[ebx+offs_vert_zp+offs_zbup_y] ;v.zp.y = st0, st0 = st1 |
31 | 31 | ||
32 | fld dword[ebx+offs_vert_pc+offs_Z] ;st0 = v.pc.Z |
32 | fld dword[ebx+offs_vert_pc+offs_Z] ;st0 = v.pc.Z |
33 | fmulp |
33 | fmulp |
Line 34... | Line 34... | ||
34 | fmul dword[eax+offs_cont_viewport+offs_vpor_scale+offs_Z] |
34 | fmul dword[eax+GLContext.viewport+offs_vpor_scale+offs_Z] |
35 | fadd dword[eax+offs_cont_viewport+offs_vpor_trans+offs_Z] |
35 | fadd dword[eax+GLContext.viewport+offs_vpor_trans+offs_Z] |
36 | fistp dword[ebx+offs_vert_zp+offs_zbup_z] ;v.zp.z = st0, st0 = st1 |
36 | fistp dword[ebx+offs_vert_zp+offs_zbup_z] ;v.zp.z = st0, st0 = st1 |
37 | 37 | ||
38 | ; color |
38 | ; color |
39 | cmp dword[eax+offs_cont_lighting_enabled],0 ;if (context.lighting_enabled) |
39 | cmp dword[eax+GLContext.lighting_enabled],0 ;if (context.lighting_enabled) |
40 | je @f |
40 | je @f |
Line 48... | Line 48... | ||
48 | stdcall RGBFtoRGBI, dword[ebx+offs_vert_color],dword[ebx+offs_vert_color+4],dword[ebx+offs_vert_color+8] |
48 | stdcall RGBFtoRGBI, dword[ebx+offs_vert_color],dword[ebx+offs_vert_color+4],dword[ebx+offs_vert_color+8] |
49 | jmp .end_if |
49 | jmp .end_if |
50 | align 4 |
50 | align 4 |
51 | @@: |
51 | @@: |
52 | ; no need to convert to integer if no lighting : take current color |
52 | ; no need to convert to integer if no lighting : take current color |
53 | mov ecx,[eax+offs_cont_longcurrent_color] |
53 | mov ecx,[eax+GLContext.longcurrent_color] |
54 | mov dword[ebx+offs_vert_zp+offs_zbup_r],ecx |
54 | mov dword[ebx+offs_vert_zp+offs_zbup_r],ecx |
55 | mov ecx,[eax+offs_cont_longcurrent_color+4] |
55 | mov ecx,[eax+GLContext.longcurrent_color+4] |
56 | mov dword[ebx+offs_vert_zp+offs_zbup_g],ecx |
56 | mov dword[ebx+offs_vert_zp+offs_zbup_g],ecx |
57 | mov ecx,[eax+offs_cont_longcurrent_color+8] |
57 | mov ecx,[eax+GLContext.longcurrent_color+8] |
58 | mov dword[ebx+offs_vert_zp+offs_zbup_b],ecx |
58 | mov dword[ebx+offs_vert_zp+offs_zbup_b],ecx |
59 | .end_if: |
59 | .end_if: |
Line 60... | Line 60... | ||
60 | 60 | ||
61 | ; texture |
61 | ; texture |
62 | cmp dword[eax+offs_cont_texture_2d_enabled],0 |
62 | cmp dword[eax+GLContext.texture_2d_enabled],0 |
63 | je @f |
63 | je @f |
64 | mov eax,[eax+offs_cont_current_texture] ;eax = &context.current_texture |
64 | mov eax,[eax+GLContext.current_texture] ;eax = &context.current_texture |
65 | mov eax,[eax] ;eax = context.current_texture |
65 | mov eax,[eax] ;eax = context.current_texture |
Line 66... | Line 66... | ||
66 | ;[eax+offs_text_images] = im = &context.current_texture.images[0] |
66 | ;[eax+offs_text_images] = im = &context.current_texture.images[0] |
67 | 67 | ||
Line 114... | Line 114... | ||
114 | proc gl_draw_point uses eax ebx, context:dword, p0:dword |
114 | proc gl_draw_point uses eax ebx, context:dword, p0:dword |
115 | mov ebx,[p0] |
115 | mov ebx,[p0] |
116 | cmp dword[ebx+offs_vert_clip_code],0 ;if (p0.clip_code == 0) |
116 | cmp dword[ebx+offs_vert_clip_code],0 ;if (p0.clip_code == 0) |
117 | jne @f |
117 | jne @f |
118 | mov eax,[context] |
118 | mov eax,[context] |
119 | cmp dword[eax+offs_cont_render_mode],GL_SELECT |
119 | cmp dword[eax+GLContext.render_mode],GL_SELECT |
120 | jne .els |
120 | jne .els |
121 | stdcall gl_add_select, eax,dword[ebx+offs_vert_zp+offs_zbup_z],dword[ebx+offs_vert_zp+offs_zbup_z] ;p0.zp.z,p0.zp.z |
121 | stdcall gl_add_select, eax,dword[ebx+offs_vert_zp+offs_zbup_z],dword[ebx+offs_vert_zp+offs_zbup_z] ;p0.zp.z,p0.zp.z |
122 | jmp @f |
122 | jmp @f |
123 | align 4 |
123 | align 4 |
124 | .els: |
124 | .els: |
125 | add ebx,offs_vert_zp |
125 | add ebx,offs_vert_zp |
126 | stdcall ZB_plot, dword[eax+offs_cont_zb],ebx |
126 | stdcall ZB_plot, dword[eax+GLContext.zb],ebx |
127 | @@: |
127 | @@: |
128 | ret |
128 | ret |
129 | endp |
129 | endp |
Line 130... | Line 130... | ||
130 | 130 | ||
Line 283... | Line 283... | ||
283 | cmp dword[edi+offs_vert_clip_code],0 |
283 | cmp dword[edi+offs_vert_clip_code],0 |
284 | jne .els_i |
284 | jne .els_i |
285 | cmp dword[esi+offs_vert_clip_code],0 |
285 | cmp dword[esi+offs_vert_clip_code],0 |
286 | jne .els_i |
286 | jne .els_i |
287 | ;if ( (p1.clip_code | p2.clip_code) == 0) |
287 | ;if ( (p1.clip_code | p2.clip_code) == 0) |
288 | cmp dword[edx+offs_cont_render_mode],GL_SELECT ;if (context.render_mode == GL_SELECT) |
288 | cmp dword[edx+GLContext.render_mode],GL_SELECT ;if (context.render_mode == GL_SELECT) |
289 | jne .els_1 |
289 | jne .els_1 |
290 | stdcall gl_add_select1, edx,dword[edi+offs_vert_zp+offs_zbup_z],\ |
290 | stdcall gl_add_select1, edx,dword[edi+offs_vert_zp+offs_zbup_z],\ |
291 | dword[esi+offs_vert_zp+offs_zbup_z],dword[esi+offs_vert_zp+offs_zbup_z] |
291 | dword[esi+offs_vert_zp+offs_zbup_z],dword[esi+offs_vert_zp+offs_zbup_z] |
292 | jmp .end_f |
292 | jmp .end_f |
293 | align 4 |
293 | align 4 |
294 | .els_1: |
294 | .els_1: |
295 | add edi,offs_vert_zp |
295 | add edi,offs_vert_zp |
296 | add esi,offs_vert_zp |
296 | add esi,offs_vert_zp |
297 | push esi |
297 | push esi |
298 | push edi |
298 | push edi |
299 | push dword[edx+offs_cont_zb] |
299 | push dword[edx+GLContext.zb] |
300 | cmp dword[edx+offs_cont_depth_test],0 |
300 | cmp dword[edx+GLContext.depth_test],0 |
301 | je .els_2 |
301 | je .els_2 |
302 | ;if (context.depth_test) |
302 | ;if (context.depth_test) |
303 | call ZB_line_z ;, dword[edx+offs_cont_zb],edi,esi |
303 | call ZB_line_z ;, dword[edx+GLContext.zb],edi,esi |
304 | jmp .end_f |
304 | jmp .end_f |
305 | align 4 |
305 | align 4 |
306 | .els_2: |
306 | .els_2: |
307 | call ZB_line ;, dword[edx+offs_cont_zb],edi,esi |
307 | call ZB_line ;, dword[edx+GLContext.zb],edi,esi |
308 | jmp .end_f |
308 | jmp .end_f |
309 | align 4 |
309 | align 4 |
310 | .els_i: |
310 | .els_i: |
311 | ;else if ( (p1.clip_code & p2.clip_code) != 0 ) |
311 | ;else if ( (p1.clip_code & p2.clip_code) != 0 ) |
312 | mov eax,[edi+offs_vert_clip_code] |
312 | mov eax,[edi+offs_vert_clip_code] |
Line 449... | Line 449... | ||
449 | 449 | ||
450 | add eax,offs_vert_zp ;eax = &q2.zp |
450 | add eax,offs_vert_zp ;eax = &q2.zp |
451 | push eax |
451 | push eax |
452 | sub eax,sizeof.GLVertex ;eax = &q1.zp |
452 | sub eax,sizeof.GLVertex ;eax = &q1.zp |
453 | push eax |
453 | push eax |
454 | push dword[edx+offs_cont_zb] |
454 | push dword[edx+GLContext.zb] |
455 | cmp dword[edx+offs_cont_depth_test],0 |
455 | cmp dword[edx+GLContext.depth_test],0 |
456 | je .els_3 |
456 | je .els_3 |
457 | call ZB_line_z ;(context.zb,&q1.zp,&q2.zp) |
457 | call ZB_line_z ;(context.zb,&q1.zp,&q2.zp) |
458 | jmp .end_f |
458 | jmp .end_f |
459 | align 4 |
459 | align 4 |
Line 590... | Line 590... | ||
590 | ;edi - q |
590 | ;edi - q |
591 | align 16 |
591 | align 16 |
592 | proc updateTmp uses eax ecx edx, context:dword, p0:dword, p1:dword, t:dword |
592 | proc updateTmp uses eax ecx edx, context:dword, p0:dword, p1:dword, t:dword |
593 | mov edx,[context] |
593 | mov edx,[context] |
594 | mov eax,[p0] |
594 | mov eax,[p0] |
595 | cmp dword[edx+offs_cont_current_shade_model],GL_SMOOTH ;if (context.current_shade_model == GL_SMOOTH) |
595 | cmp dword[edx+GLContext.current_shade_model],GL_SMOOTH ;if (context.current_shade_model == GL_SMOOTH) |
596 | jne .els_0 |
596 | jne .els_0 |
597 | mov ecx,[p1] |
597 | mov ecx,[p1] |
598 | fld dword[ecx+offs_vert_color] |
598 | fld dword[ecx+offs_vert_color] |
599 | fsub dword[eax+offs_vert_color] |
599 | fsub dword[eax+offs_vert_color] |
600 | fmul dword[t] |
600 | fmul dword[t] |
Line 619... | Line 619... | ||
619 | mov [edi+offs_vert_color+4],ecx ;q.color.v[1]=p0.color.v[1] |
619 | mov [edi+offs_vert_color+4],ecx ;q.color.v[1]=p0.color.v[1] |
620 | mov ecx,[eax+offs_vert_color+8] |
620 | mov ecx,[eax+offs_vert_color+8] |
621 | mov [edi+offs_vert_color+8],ecx ;q.color.v[2]=p0.color.v[2] |
621 | mov [edi+offs_vert_color+8],ecx ;q.color.v[2]=p0.color.v[2] |
622 | @@: |
622 | @@: |
Line 623... | Line 623... | ||
623 | 623 | ||
624 | cmp dword[edx+offs_cont_texture_2d_enabled],0 ;if (context.texture_2d_enabled) |
624 | cmp dword[edx+GLContext.texture_2d_enabled],0 ;if (context.texture_2d_enabled) |
625 | je @f |
625 | je @f |
626 | mov ecx,[p1] |
626 | mov ecx,[p1] |
627 | fld dword[ecx+offs_vert_tex_coord+offs_X] |
627 | fld dword[ecx+offs_vert_tex_coord+offs_X] |
628 | fsub dword[eax+offs_vert_tex_coord+offs_X] |
628 | fsub dword[eax+offs_vert_tex_coord+offs_X] |
Line 707... | Line 707... | ||
707 | je .end_f |
707 | je .end_f |
708 | jae @f |
708 | jae @f |
709 | inc dword[front] ;front = norm < 0.0 |
709 | inc dword[front] ;front = norm < 0.0 |
710 | @@: |
710 | @@: |
711 | mov edi,[context] |
711 | mov edi,[context] |
712 | mov eax,dword[edi+offs_cont_current_front_face] |
712 | mov eax,dword[edi+GLContext.current_front_face] |
713 | xor dword[front],eax ;front ^= context.current_front_face |
713 | xor dword[front],eax ;front ^= context.current_front_face |
Line 714... | Line 714... | ||
714 | 714 | ||
715 | ; back face culling |
715 | ; back face culling |
716 | cmp dword[edi+offs_cont_cull_face_enabled],0 |
716 | cmp dword[edi+GLContext.cull_face_enabled],0 |
717 | je .els_1 |
717 | je .els_1 |
718 | ; most used case first |
718 | ; most used case first |
719 | cmp dword[edi+offs_cont_current_cull_face],GL_BACK |
719 | cmp dword[edi+GLContext.current_cull_face],GL_BACK |
720 | jne @f |
720 | jne @f |
721 | cmp dword[front],0 |
721 | cmp dword[front],0 |
722 | je .end_f |
722 | je .end_f |
723 | stdcall dword[edi+offs_cont_draw_triangle_front], edi,ebx,ecx,edx |
723 | stdcall dword[edi+GLContext.draw_triangle_front], edi,ebx,ecx,edx |
724 | jmp .end_f |
724 | jmp .end_f |
725 | align 4 |
725 | align 4 |
726 | @@: |
726 | @@: |
727 | cmp dword[edi+offs_cont_current_cull_face],GL_FRONT |
727 | cmp dword[edi+GLContext.current_cull_face],GL_FRONT |
728 | jne .end_f |
728 | jne .end_f |
729 | cmp dword[front],0 |
729 | cmp dword[front],0 |
730 | jne .end_f |
730 | jne .end_f |
731 | stdcall dword[edi+offs_cont_draw_triangle_back], edi,ebx,ecx,edx |
731 | stdcall dword[edi+GLContext.draw_triangle_back], edi,ebx,ecx,edx |
732 | jmp .end_f |
732 | jmp .end_f |
733 | align 4 |
733 | align 4 |
734 | .els_1: |
734 | .els_1: |
735 | ; no culling |
735 | ; no culling |
736 | cmp dword[front],0 |
736 | cmp dword[front],0 |
737 | je @f |
737 | je @f |
738 | stdcall dword[edi+offs_cont_draw_triangle_front], edi,ebx,ecx,edx |
738 | stdcall dword[edi+GLContext.draw_triangle_front], edi,ebx,ecx,edx |
739 | jmp .end_f |
739 | jmp .end_f |
740 | align 4 |
740 | align 4 |
741 | @@: |
741 | @@: |
742 | stdcall dword[edi+offs_cont_draw_triangle_back], edi,ebx,ecx,edx |
742 | stdcall dword[edi+GLContext.draw_triangle_back], edi,ebx,ecx,edx |
743 | jmp .end_f |
743 | jmp .end_f |
744 | align 4 |
744 | align 4 |
745 | .els_0: |
745 | .els_0: |
746 | ;eax = cc[2] |
746 | ;eax = cc[2] |
Line 1033... | Line 1033... | ||
1033 | mov ebx,[p1] |
1033 | mov ebx,[p1] |
1034 | add ebx,offs_vert_zp |
1034 | add ebx,offs_vert_zp |
1035 | mov ecx,[p2] |
1035 | mov ecx,[p2] |
1036 | add ecx,offs_vert_zp |
1036 | add ecx,offs_vert_zp |
1037 | mov edx,[context] |
1037 | mov edx,[context] |
1038 | cmp dword[edx+offs_cont_texture_2d_enabled],0 |
1038 | cmp dword[edx+GLContext.texture_2d_enabled],0 |
1039 | je .els_i |
1039 | je .els_i |
1040 | ;if (context.texture_2d_enabled) |
1040 | ;if (context.texture_2d_enabled) |
1041 | if PROFILE eq 1 |
1041 | if PROFILE eq 1 |
1042 | inc dword[count_triangles_textured] |
1042 | inc dword[count_triangles_textured] |
1043 | end if |
1043 | end if |
1044 | mov eax,[edx+offs_cont_current_texture] |
1044 | mov eax,[edx+GLContext.current_texture] |
1045 | mov eax,[eax] ;переход по указателю |
1045 | mov eax,[eax] ;переход по указателю |
1046 | ;так как offs_text_images+offs_imag_pixmap = 0 то context.current_texture.images[0].pixmap = [eax] |
1046 | ;так как offs_text_images+offs_imag_pixmap = 0 то context.current_texture.images[0].pixmap = [eax] |
1047 | stdcall ZB_setTexture, [edx+offs_cont_zb], [eax],\ |
1047 | stdcall ZB_setTexture, [edx+GLContext.zb], [eax],\ |
1048 | [eax+offs_imag_s_bound],[eax+offs_imag_t_bound],[eax+offs_imag_xsize_log2] |
1048 | [eax+offs_imag_s_bound],[eax+offs_imag_t_bound],[eax+offs_imag_xsize_log2] |
1049 | mov eax,[p0] |
1049 | mov eax,[p0] |
1050 | add eax,offs_vert_zp |
1050 | add eax,offs_vert_zp |
1051 | push ecx |
1051 | push ecx |
1052 | push ebx |
1052 | push ebx |
1053 | push eax |
1053 | push eax |
1054 | push dword[edx+offs_cont_zb] |
1054 | push dword[edx+GLContext.zb] |
1055 | cmp dword[edx+offs_cont_matrix_model_projection_no_w_transform],0 |
1055 | cmp dword[edx+GLContext.matrix_model_projection_no_w_transform],0 |
1056 | je @f |
1056 | je @f |
1057 | call ZB_fillTriangleMappingPerspective |
1057 | call ZB_fillTriangleMappingPerspective |
1058 | jmp .end_f |
1058 | jmp .end_f |
1059 | align 4 |
1059 | align 4 |
1060 | @@: |
1060 | @@: |
Line 1062... | Line 1062... | ||
1062 | jmp .end_f |
1062 | jmp .end_f |
1063 | align 4 |
1063 | align 4 |
1064 | .els_i: |
1064 | .els_i: |
1065 | mov eax,[p0] |
1065 | mov eax,[p0] |
1066 | add eax,offs_vert_zp |
1066 | add eax,offs_vert_zp |
1067 | cmp dword[edx+offs_cont_current_shade_model],GL_SMOOTH |
1067 | cmp dword[edx+GLContext.current_shade_model],GL_SMOOTH |
1068 | jne .els |
1068 | jne .els |
1069 | ;else if (context.current_shade_model == GL_SMOOTH) |
1069 | ;else if (context.current_shade_model == GL_SMOOTH) |
1070 | stdcall ZB_fillTriangleSmooth, dword[edx+offs_cont_zb],eax,ebx,ecx |
1070 | stdcall ZB_fillTriangleSmooth, dword[edx+GLContext.zb],eax,ebx,ecx |
1071 | jmp .end_f |
1071 | jmp .end_f |
1072 | align 4 |
1072 | align 4 |
1073 | .els: |
1073 | .els: |
1074 | stdcall ZB_fillTriangleFlat, dword[edx+offs_cont_zb],eax,ebx,ecx |
1074 | stdcall ZB_fillTriangleFlat, dword[edx+GLContext.zb],eax,ebx,ecx |
1075 | .end_f: |
1075 | .end_f: |
1076 | popad |
1076 | popad |
1077 | ret |
1077 | ret |
1078 | endp |
1078 | endp |
Line 1079... | Line 1079... | ||
1079 | 1079 | ||
Line 1080... | Line 1080... | ||
1080 | ; Render a clipped triangle in line mode |
1080 | ; Render a clipped triangle in line mode |
1081 | 1081 | ||
1082 | align 16 |
1082 | align 16 |
1083 | proc gl_draw_triangle_line uses eax ebx ecx edx, context:dword, p0:dword,p1:dword,p2:dword |
1083 | proc gl_draw_triangle_line uses eax ebx ecx edx, context:dword, p0:dword,p1:dword,p2:dword |
1084 | mov edx,[context] |
1084 | mov edx,[context] |
1085 | cmp dword[edx+offs_cont_depth_test],0 |
1085 | cmp dword[edx+GLContext.depth_test],0 |
1086 | je .els |
1086 | je .els |
1087 | lea ecx,[ZB_line_z] |
1087 | lea ecx,[ZB_line_z] |
1088 | jmp @f |
1088 | jmp @f |
Line 1097... | Line 1097... | ||
1097 | je @f |
1097 | je @f |
1098 | mov ebx,eax |
1098 | mov ebx,eax |
1099 | add ebx,offs_vert_zp |
1099 | add ebx,offs_vert_zp |
1100 | mov eax,[p1] |
1100 | mov eax,[p1] |
1101 | add eax,offs_vert_zp |
1101 | add eax,offs_vert_zp |
1102 | stdcall ecx,dword[edx+offs_cont_zb],ebx,eax |
1102 | stdcall ecx,dword[edx+GLContext.zb],ebx,eax |
1103 | @@: |
1103 | @@: |
1104 | ;if (p1.edge_flag) ZB_line_z(context.zb,&p1.zp,&p2.zp) |
1104 | ;if (p1.edge_flag) ZB_line_z(context.zb,&p1.zp,&p2.zp) |
1105 | mov eax,[p1] |
1105 | mov eax,[p1] |
1106 | cmp dword[eax+offs_vert_edge_flag],0 |
1106 | cmp dword[eax+offs_vert_edge_flag],0 |
1107 | je @f |
1107 | je @f |
1108 | mov ebx,eax |
1108 | mov ebx,eax |
1109 | add ebx,offs_vert_zp |
1109 | add ebx,offs_vert_zp |
1110 | mov eax,[p2] |
1110 | mov eax,[p2] |
1111 | add eax,offs_vert_zp |
1111 | add eax,offs_vert_zp |
1112 | stdcall ecx,dword[edx+offs_cont_zb],ebx,eax |
1112 | stdcall ecx,dword[edx+GLContext.zb],ebx,eax |
1113 | @@: |
1113 | @@: |
1114 | ;if (p2.edge_flag) ZB_line_z(context.zb,&p2.zp,&p0.zp); |
1114 | ;if (p2.edge_flag) ZB_line_z(context.zb,&p2.zp,&p0.zp); |
1115 | mov eax,[p2] |
1115 | mov eax,[p2] |
1116 | cmp dword[eax+offs_vert_edge_flag],0 |
1116 | cmp dword[eax+offs_vert_edge_flag],0 |
1117 | je @f |
1117 | je @f |
1118 | mov ebx,eax |
1118 | mov ebx,eax |
1119 | add ebx,offs_vert_zp |
1119 | add ebx,offs_vert_zp |
1120 | mov eax,[p0] |
1120 | mov eax,[p0] |
1121 | add eax,offs_vert_zp |
1121 | add eax,offs_vert_zp |
1122 | stdcall ecx,dword[edx+offs_cont_zb],ebx,eax |
1122 | stdcall ecx,dword[edx+GLContext.zb],ebx,eax |
1123 | @@: |
1123 | @@: |
Line 1124... | Line 1124... | ||
1124 | 1124 | ||
1125 | ret |
1125 | ret |
Line 1132... | Line 1132... | ||
1132 | mov eax,[p0] |
1132 | mov eax,[p0] |
1133 | cmp dword[eax+offs_vert_edge_flag],0 |
1133 | cmp dword[eax+offs_vert_edge_flag],0 |
1134 | je @f |
1134 | je @f |
1135 | mov ebx,eax |
1135 | mov ebx,eax |
1136 | add ebx,offs_vert_zp |
1136 | add ebx,offs_vert_zp |
1137 | stdcall ZB_plot,dword[edx+offs_cont_zb],ebx |
1137 | stdcall ZB_plot,dword[edx+GLContext.zb],ebx |
1138 | @@: |
1138 | @@: |
1139 | mov eax,[p1] |
1139 | mov eax,[p1] |
1140 | cmp dword[eax+offs_vert_edge_flag],0 |
1140 | cmp dword[eax+offs_vert_edge_flag],0 |
1141 | je @f |
1141 | je @f |
1142 | mov ebx,eax |
1142 | mov ebx,eax |
1143 | add ebx,offs_vert_zp |
1143 | add ebx,offs_vert_zp |
1144 | stdcall ZB_plot,dword[edx+offs_cont_zb],ebx |
1144 | stdcall ZB_plot,dword[edx+GLContext.zb],ebx |
1145 | @@: |
1145 | @@: |
1146 | mov eax,[p2] |
1146 | mov eax,[p2] |
1147 | cmp dword[eax+offs_vert_edge_flag],0 |
1147 | cmp dword[eax+offs_vert_edge_flag],0 |
1148 | je @f |
1148 | je @f |
1149 | mov ebx,eax |
1149 | mov ebx,eax |
1150 | add ebx,offs_vert_zp |
1150 | add ebx,offs_vert_zp |
1151 | stdcall ZB_plot,dword[edx+offs_cont_zb],ebx |
1151 | stdcall ZB_plot,dword[edx+GLContext.zb],ebx |
1152 | @@: |
1152 | @@: |
1153 | ret |
1153 | ret |
1154 | endp>>>>>>><>><>>>*tmin)>*tmin)>0) |
1154 | endp>>>>>>><>><>>>*tmin)>*tmin)>0) |