forked from KolibriOS/kolibrios
TinyGL: Bug fixes. info3ds, info3ds_u, vox_tgl: Related changes (#210)
TinyGL: - The `depth` parameter in the `glClearDepth` function is now `qword` instead of `dword`. - Fixed bug with z-buffer (the edges were cut off incorrectly, the coordinates in it were from 0 to 1, but should be from -1 to 1) - Optimized array functions: `glDrawArrays`, `glDrawElements` info3ds, info3ds_u, vox_tgl: - Removed unnecessary operations after fixing a bug with the z-buffer. Reviewed-on: KolibriOS/kolibrios#210 Reviewed-by: Max Logaev <maxlogaev@proton.me> Co-authored-by: IgorA <aie85playm@gmail.com> Co-committed-by: IgorA <aie85playm@gmail.com>
This commit is contained in:
@@ -58,7 +58,7 @@ end if
|
||||
mov eax,[z]
|
||||
shr eax,ZB_POINT_Z_FRAC_BITS
|
||||
cmp ax,word[esi+2*_a] ;if (zz >= pz[_a])
|
||||
jl .end_0
|
||||
jb .end_0
|
||||
;edi = pp
|
||||
mov word[esi+2*_a],ax ;пишем в буфер глубины новое значение
|
||||
if TGL_FEATURE_RENDER_BITS eq 24
|
||||
@@ -103,7 +103,7 @@ local .end_0
|
||||
mov eax,[z]
|
||||
shr eax,ZB_POINT_Z_FRAC_BITS
|
||||
cmp ax,word[esi+2*_a] ;if (zz >= pz[_a])
|
||||
jl .end_0
|
||||
jb .end_0
|
||||
;edi = pp
|
||||
mov word[esi+2*_a],ax ;пишем в буфер глубины новое значение
|
||||
if TGL_FEATURE_RENDER_BITS eq 24
|
||||
@@ -171,7 +171,7 @@ local .end_0
|
||||
mov eax,[z]
|
||||
shr eax,ZB_POINT_Z_FRAC_BITS
|
||||
cmp ax,word[esi+2*_a] ;if (zz >= pz[_a])
|
||||
jl .end_0
|
||||
jb .end_0
|
||||
;edi = pp
|
||||
mov word[esi+2*_a],ax ;пишем в буфер глубины новое значение
|
||||
if TGL_FEATURE_RENDER_BITS eq 24
|
||||
@@ -251,7 +251,7 @@ local .end_0
|
||||
mov eax,[z]
|
||||
shr eax,ZB_POINT_Z_FRAC_BITS
|
||||
cmp ax,word[esi+2*_a] ;if (zz >= pz[_a])
|
||||
jl .end_0
|
||||
jb .end_0
|
||||
;edi = pp
|
||||
mov word[esi+2*_a],ax ;пишем в буфер глубины новое значение
|
||||
if TGL_FEATURE_RENDER_BITS eq 24
|
||||
|
Reference in New Issue
Block a user