#include <stdlib.h>
#include "zbuffer.h"
#include "ztriangle.h"
Go to the source code of this file.
|
void | ZB_fillTriangleFlat (ZBuffer *zb, ZBufferPoint *p0, ZBufferPoint *p1, ZBufferPoint *p2) |
|
void | ZB_fillTriangleSmooth (ZBuffer *zb, ZBufferPoint *p0, ZBufferPoint *p1, ZBufferPoint *p2) |
|
void | ZB_setTexture (ZBuffer *zb, PIXEL *texture) |
|
void | ZB_fillTriangleMapping (ZBuffer *zb, ZBufferPoint *p0, ZBufferPoint *p1, ZBufferPoint *p2) |
|
void | ZB_fillTriangleMappingPerspective (ZBuffer *zb, ZBufferPoint *p0, ZBufferPoint *p1, ZBufferPoint *p2) |
|
◆ DRAW_INIT [1/4]
Value:{ \
}
#define RGB_TO_PIXEL(r, g, b)
◆ DRAW_INIT [2/4]
Value:{ \
}
#define SAR_RND_TO_ZERO(v, n)
◆ DRAW_INIT [3/4]
Value:{ \
texture=zb->current_texture; \
}
◆ DRAW_INIT [4/4]
Value:{ \
texture=zb->current_texture;\
fdzdx=(float)dzdx;\
}
◆ DRAW_LINE [1/2]
Value:{ \
register unsigned short *pz; \
register
unsigned int tmp,z,zz,rgb,drgbdx; \
register int n; \
z=z1; \
rgb=(r1 << 16) & 0xFFC00000; \
rgb|=(g1 >> 5) & 0x000007FF; \
rgb|=(b1 << 5) & 0x001FF000; \
drgbdx=_drgbdx; \
while (n>=3) { \
PUT_PIXEL(0); \
PUT_PIXEL(1); \
PUT_PIXEL(2); \
PUT_PIXEL(3); \
pz+=4; \
pp+=4; \
n-=4; \
} \
while (n>=0) { \
PUT_PIXEL(0); \
pz+=1; \
pp+=1; \
n-=1; \
} \
}
◆ DRAW_LINE [2/2]
◆ INTERP_RGB
◆ INTERP_ST
◆ INTERP_STZ
◆ INTERP_Z [1/4]
◆ INTERP_Z [2/4]
◆ INTERP_Z [3/4]
◆ INTERP_Z [4/4]
◆ NB_INTERP
◆ PUT_PIXEL [1/4]
Value:{ \
pp[_a]=color; \
pz[_a]=zz; \
} \
z+=dzdx; \
}
#define ZB_POINT_Z_FRAC_BITS
◆ PUT_PIXEL [2/4]
Value:{ \
tmp=rgb & 0xF81F07E0; \
pz[_a]=zz; \
} \
z+=dzdx; \
rgb=(rgb+drgbdx) & ( ~ 0x00200800); \
}
◆ PUT_PIXEL [3/4]
Value:{ \
pp[_a]=texture[((t & 0x3FC00000) | s) >> 14]; \
pz[_a]=zz; \
} \
z+=dzdx; \
s+=dsdx; \
t+=dtdx; \
}
◆ PUT_PIXEL [4/4]
Value:{ \
pp[_a]=*(
PIXEL *)((
char *)texture+ \
(((t & 0x3FC00000) | (s & 0x003FC000)) >> (17 -
PSZSH)));\
pz[_a]=zz; \
} \
z+=dzdx; \
s+=dsdx; \
t+=dtdx; \
}
◆ SAR_RND_TO_ZERO
#define SAR_RND_TO_ZERO |
( |
|
v, |
|
|
|
n |
|
) |
| (v / (1<<n)) |
◆ ZCMP
#define ZCMP |
( |
|
z, |
|
|
|
zpix |
|
) |
| ((z) >= (zpix)) |
◆ ZB_fillTriangleFlat()
◆ ZB_fillTriangleMapping()
◆ ZB_fillTriangleMappingPerspective()
◆ ZB_fillTriangleSmooth()
◆ ZB_setTexture()