Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6133 → Rev 6134

/programs/develop/libraries/TinyGL/asm_fork/ztriangle.asm
39,7 → 39,7
add [z],eax
}
 
align 4
align 16
proc ZB_fillTriangleFlat, zb:dword, p0:dword, p1:dword, p2:dword
locals
if TGL_FEATURE_RENDER_BITS eq 24
94,12 → 94,12
add [ob1],eax
}
 
align 4
align 16
proc ZB_fillTriangleSmooth, zb:dword, p0:dword, p1:dword, p2:dword
locals
include 'ztriangle.inc'
 
align 4
align 16
proc ZB_setTexture uses eax ebx, zb:dword, texture:dword
mov eax,[zb]
mov ebx,[texture]
120,6 → 120,7
macro PUT_PIXEL _a
{
local .end_0
local .in_mem
mov eax,[z]
shr eax,ZB_POINT_Z_FRAC_BITS
cmp ax,word[esi+2*_a] ;if (zz >= pz[_a])
131,6 → 132,10
and ebx,0x3fc00000
or ebx,[s]
shr ebx,14
cmp ebx,256*256-1 ;проверка на выход за пределы текстуры
jl .in_mem ;координата 1.0,1.0 может выползать
mov ebx,256*256-1 ;переход на последний пиксель текстуры
.in_mem:
imul ebx,3
add ebx,[texture] ;ptr = texture + (((t & 0x3fc00000) | s) >> 14) * 3
mov ax,word[ebx]
149,7 → 154,7
add [t],eax
}
 
align 4
align 16
proc ZB_fillTriangleMapping, zb:dword, p0:dword, p1:dword, p2:dword
locals
texture dd ? ;PIXEL*
188,6 → 193,7
macro PUT_PIXEL _a
{
local .end_0
local .in_mem
mov eax,[z]
shr eax,ZB_POINT_Z_FRAC_BITS
cmp ax,word[esi+2*_a] ;if (zz >= pz[_a])
201,6 → 207,15
and eax,0x003fc000
or ebx,eax
shr ebx,14
if 1
; не знаю нужна ли сдесь эта проверка
; функция ZB_fillTriangleMapping без нее не работает
; на всякий случай делаю и тут такое же
cmp ebx,256*256-1 ;проверка на выход за пределы текстуры
jl .in_mem ;координата 1.0,1.0 может выползать
mov ebx,256*256-1 ;переход на последний пиксель текстуры
.in_mem:
end if
imul ebx,3
add ebx,[texture] ;ptr = texture + (((t & 0x3fc00000) | (s & 0x003FC000)) >> 14) * 3
mov ax,word[ebx]
233,7 → 248,6
fld1
fild dword[z1]
fst dword[f_z] ;fz = (float)z1
;fld1
fdivp
fstp dword[zinv] ;zinv = 1.0 / fz
imul edi,PSZB
271,7 → 285,6
fld dword[f_z]
fadd dword[fndzdx]
fst dword[f_z] ;fz += fndzdx
;fld1
fdivp
fstp dword[zinv] ;zinv = 1.0 / fz
PUT_PIXEL 0
292,6 → 305,7
fadd dword[t_z]
fstp dword[t_z] ;tz += ndtzdx
jmp .cycle_2
align 4
.cycle_2_end:
fld dword[zinv]
fld st0
318,11 → 332,12
add edi,PSZB ;pp += PSZB
dec dword[n]
jmp .cycle_3
align 4
.cycle_3_end:
end if
}
 
align 4
align 16
proc ZB_fillTriangleMappingPerspective, zb:dword, p0:dword, p1:dword, p2:dword
locals
texture dd ? ;PIXEL *
386,7 → 401,7
fstp dword[t_z]
}
 
align 4
align 16
proc ZB_fillTriangleMappingPerspective, zb:dword, p0:dword, p1:dword, p2:dword
locals
texture dd ? ;PIXEL*