Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 5277 → Rev 5278

/programs/develop/libraries/TinyGL/asm_fork/light.asm
203,7 → 203,7
fcom dword[an180f] ;if (a != 180)
fstsw ax
sahf
jne @f
je @f
fldpi
fmulp
fdiv dword[an180f]
289,7 → 289,7
fcompp
fstsw ax
sahf
jb .o_2
ja .o_2
mov eax,1.0
jmp .end_m ;return 1.0
.o_2:
355,6 → 355,7
if DEBUG
txt_mate db 'Material',0
txt_colo db 'Color',0
txt_rgba db 'R, G, B',0
end if
 
; non optimized lightening model
361,13 → 362,12
align 4
proc gl_shade_vertex, context:dword, v:dword
locals
R dd ? ;float ebp-100
G dd ? ;float ebp-96
B dd ? ;float ebp-92
A dd ? ;float ebp-88
s V3 ;ebp-84
d V3 ;ebp-72
dist dd ? ;float ebp-60
R dd ? ;float ebp-96
G dd ? ;float ebp-92
B dd ? ;float ebp-88
A dd ? ;float ebp-84
s V3 ;ebp-80
d V3 ;ebp-68
tmp dd ? ;float ebp-56
att dd ? ;float ebp-52
dot_spot dd ? ;float ebp-48
480,8 → 480,7
fld dword[d+offs_Z]
fmul st0,st0
faddp
fsqrt
fst dword[dist] ;dist=sqrt(d.X^2+d.Y^2+d.Z^2)
fsqrt ;dist=sqrt(d.X^2+d.Y^2+d.Z^2)
fcom dword[fl_1e_3]
fstsw ax
sahf
557,7 → 556,7
fcomp dword[an180f] ;if (l.spot_cutoff != 180)
fstsw ax
sahf
jne .if1_end
je .if1_end
fld dword[ebx+offs_ligh_norm_spot_direction]
fmul dword[d]
fld dword[ebx+offs_ligh_norm_spot_direction+4]
675,7 → 674,7
faddp
fld dword[s+offs_Z]
fmul st0,st0
faddp
faddp ;st0 = s.X^2 +s.Y^2 +s.Z^2
fsqrt
fcom dword[fl_1e_3]
fstsw ax
697,7 → 696,7
fstsw ax
fild dword[idx]
sahf
jae @f ;if(dot_spec < 1.0)
jbe @f ;if(dot_spec < 1.0) st0=1 st1=dot_spec
fmul st0,st1 ;idx *= dot_spec
@@:
fistp dword[idx]
711,16 → 710,22
fmul dword[ecx+offs_mate_specular]
fadd dword[lR]
fstp dword[lR] ;lR+=dot_spec * l.specular.v[0] * m.specular.v[0]
;ffree st0
;fincstp
fld dword[ebx+offs_ligh_specular+4]
fmul st0,st1
fmul dword[ecx+offs_mate_specular+4]
fadd dword[lG]
fstp dword[lG] ;lG+=dot_spec * l.specular.v[1] * m.specular.v[1]
;ffree st0
;fincstp
fld dword[ebx+offs_ligh_specular+8]
fmul st0,st1
fmul dword[ecx+offs_mate_specular+8]
fadd dword[lB]
fstp dword[lB] ;lB+=dot_spec * l.specular.v[2] * m.specular.v[2]
;ffree st0
;fincstp
ffree st0 ;dot_spec
fincstp
jmp .if2_end