Pisze w czystym asemblerze animacje 3D, jest już w zasadzie skończona ale brakuje mi jednej procedury tzn. sortującej powierzchnie w 3D ze względu na odległość, mam na razie coś takiego:
Qsort:
xor bx,bx
mov cx,ile_f
lea di,f_z
dec cx
_sort:
fld d [di]
fld d [di+4]
fcompp
fstsw ax
sahf
jl _nie_s
mov bx,1
mov eax,[di]
xchg eax,[di+4]
_nie_s:
add di,4
loop _sort
cmp bx,0
jne Qsort
ret
A to są zmienne:
ile_f equ 400
f_z DD ile_f dup(?)
d equ dword ptr
Powyższa procedura ma tylko posortować Tablice Z(jeszcze bez ścian) ale nie robi nic poza tym że się zawiesza
Nie wiem czemu....
A jak by ktoś nie załapał to każdy kolejny element f_z to jest suma Z trzech wierzchołków odpowiedniej ściany