fix in 'ztriangle.inc'

git-svn-id: svn://kolibrios.org@5189 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA 2014-11-24 23:05:55 +00:00
parent a062803b74
commit 32530313f2
2 changed files with 28 additions and 97 deletions

View File

@ -25,9 +25,9 @@ start:
mcall 40,0x27 mcall 40,0x27
stdcall [kosglMakeCurrent], 10,10,300,225,ctx1 stdcall [kosglMakeCurrent], 10,10,300,225,ctx1
;;;stdcall [glEnable], GL_DEPTH_TEST ;stdcall [glEnable], GL_DEPTH_TEST
stdcall [glClearColor], 0.2,0.0,0.2,0.0 stdcall [glClearColor], 0.2,0.0,0.2,0.0
stdcall [glShadeModel],GL_FLAT ;stdcall [glShadeModel],GL_FLAT
call draw_3d call draw_3d
@ -109,28 +109,29 @@ stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;очистим б
stdcall [glPushMatrix] stdcall [glPushMatrix]
stdcall [glRotatef], [angle_z],0.0,0.0,1.0 stdcall [glRotatef], [angle_z],0.0,0.0,1.0
stdcall [glColor3f],0.0, 0.0, 1.0 stdcall [glBegin],GL_TRIANGLES
stdcall [glBegin],GL_LINE_LOOP
stdcall [glVertex3f], 0.0, 0.5, 0.3 stdcall [glColor3f],0.0, 0.0, 1.0
stdcall [glVertex3f], 0.354, 0.354, 0.3 stdcall [glVertex3f], 0.0, 0.5, 0.1
stdcall [glVertex3f], 0.5, 0.0, 0.3 stdcall [glVertex3f], 0.475, 0.823, 0.1
stdcall [glEnd] stdcall [glVertex3f], 0.433, 0.25, 0.1
;stdcall [glColor3f],1.0, 1.0, 0.0
stdcall [glBegin],GL_LINE_LOOP stdcall [glColor3f],0.0, 1.0, 0.0
stdcall [glVertex3f], 0.354, -0.354, 0.3 stdcall [glVertex3f], 0.5, 0.0, 0.1
stdcall [glVertex3f], 0.0, -0.5, 0.3 stdcall [glVertex3f], 0.823,-0.475, 0.1
stdcall [glVertex3f], -0.354,-0.354, 0.3 stdcall [glVertex3f], 0.25, -0.433, 0.1
stdcall [glEnd]
stdcall [glColor3f],1.0, 0.0, 0.0 stdcall [glColor3f],1.0, 0.0, 0.0
stdcall [glBegin],GL_TRIANGLES stdcall [glVertex3f], 0.0, -0.5, 0.1
stdcall [glVertex3f], 0.0, 0.5, 0.1 stdcall [glVertex3f], -0.475,-0.823,0.1
stdcall [glVertex3f], 0.354, 0.354, 0.1 stdcall [glVertex3f], -0.433,-0.25, 0.1
stdcall [glVertex3f], 0.5, 0.0, 0.1
stdcall [glColor3f],1.0, 1.0, 0.0 stdcall [glVertex3f], -0.5, 0.0, 0.1
stdcall [glVertex3f], 0.354, -0.354, 0.1 stdcall [glColor3f],1.0, 1.0, 0.0
stdcall [glVertex3f], 0.0, -0.5, 0.1 stdcall [glVertex3f], -0.823, 0.475, 0.1
stdcall [glVertex3f], -0.354,-0.354, 0.1 stdcall [glColor3f],1.0, 1.0, 1.0
stdcall [glVertex3f], -0.25, 0.433, 0.1
stdcall [glEnd] stdcall [glEnd]
stdcall [glPopMatrix] stdcall [glPopMatrix]

View File

@ -170,9 +170,7 @@ end if
fstsw ax fstsw ax
sahf sahf
je .end_f je .end_f
if DEBUG ;(2)
stdcall dbg_print,txt_sp,m_2
end if
fld1 fld1
fdiv dword[fz] ;fz = 1.0 / fz fdiv dword[fz] ;fz = 1.0 / fz
fst dword[fz] ;st0 = fz fst dword[fz] ;st0 = fz
@ -452,9 +450,6 @@ end if
mov dword[part],0 mov dword[part],0
.cycle_0: .cycle_0:
if DEBUG ;(3)
stdcall dbg_print,txt_sp,m_3
end if
mov ebx,[p0] mov ebx,[p0]
mov ecx,[p1] mov ecx,[p1]
mov edx,[p2] mov edx,[p2]
@ -542,43 +537,14 @@ end if
mov dword[derror],eax mov dword[derror],eax
and dword[derror],0xffff ;derror = eax & 0x0000ffff and dword[derror],0xffff ;derror = eax & 0x0000ffff
shr eax,16 shr eax,16
bt eax,15
jnc @f
or eax,0xffff0000
@@:
mov [dxdy_min],eax ;dxdy_min = eax >> 16 mov [dxdy_min],eax ;dxdy_min = eax >> 16
inc eax inc eax
mov [dxdy_max],eax mov [dxdy_max],eax
if DEBUG ;(4) update_left [dx1], [dy1], [dxdy_min], [dxdy_max]
push ecx edi
mov ecx,80
lea edi,[buf_param]
mov eax,[dx1]
stdcall convert_int_to_str,ecx
stdcall str_n_cat,edi,txt_zp_sp,2
stdcall str_len,edi
add edi,eax
sub ecx,eax
mov eax,[dy1]
stdcall convert_int_to_str,ecx
stdcall str_n_cat,edi,txt_zp_sp,2
stdcall str_len,edi
add edi,eax
sub ecx,eax
mov eax,[dxdy_min]
stdcall convert_int_to_str,ecx
stdcall str_n_cat,edi,txt_zp_sp,2
stdcall str_len,edi
add edi,eax
sub ecx,eax
mov eax,[dxdy_max]
stdcall convert_int_to_str,ecx
stdcall str_n_cat,edi,txt_nl,2
stdcall dbg_print,m_4,buf_param
pop edi ecx
end if
if INTERP_Z eq 1 if INTERP_Z eq 1
mov eax,[l1] mov eax,[l1]
mov eax,[eax+offs_zbup_z] mov eax,[eax+offs_zbup_z]
@ -696,42 +662,6 @@ end if
xor eax,eax xor eax,eax
.end_4: .end_4:
mov [dx2dy2],eax mov [dx2dy2],eax
if DEBUG ;(5) update_right [dx2dy2], [dy2], [pr1.x], [pr2.x]
push ecx edi
mov eax,[dx2dy2]
shr eax,16
mov ecx,80
lea edi,[buf_param]
stdcall convert_int_to_str,ecx
stdcall str_n_cat,edi,txt_zp_sp,2
stdcall str_len,edi
add edi,eax
sub ecx,eax
mov eax,[dy2]
stdcall convert_int_to_str,ecx
stdcall str_n_cat,edi,txt_zp_sp,2
stdcall str_len,edi
add edi,eax
sub ecx,eax
mov ebx,[pr1]
mov eax,[ebx+offs_zbup_x]
stdcall convert_int_to_str,ecx
stdcall str_n_cat,edi,txt_zp_sp,2
stdcall str_len,edi
add edi,eax
sub ecx,eax
mov ebx,[pr2]
mov eax,[ebx+offs_zbup_x]
stdcall convert_int_to_str,ecx
stdcall str_n_cat,edi,txt_nl,2
stdcall dbg_print,m_5,buf_param
pop edi ecx
end if
.end_upd_r: .end_upd_r:
; we draw all the scan line of the part ; we draw all the scan line of the part