2 * $Source: s:/prj/tech/libsrc/g2/RCS/lmap.c $
5 * $Date: 1996/04/10 17:35:10 $
9 * This file is part of the g2 library.
19 void lmap_shell(grs_vertex
**vpl
)
21 grs_vertex
*vp
=vpl
[0];
27 g2_calc_deltas(vpl
, TMF_CALC_UV
);
28 r0
= gr_rasterize(vpl
, 3, NULL
);
34 u0
= vp
->u
- fix_mul(fix_frac(vp
->x
), ti
->dux
)
35 - fix_mul(fix_frac(vp
->y
), ti
->duy
);
36 v0
= vp
->v
- fix_mul(fix_frac(vp
->x
), ti
->dvx
)
37 - fix_mul(fix_frac(vp
->y
), ti
->dvy
);
40 ti
->p_dest
= grd_bm
.bits
+ ti
->y
*grd_bm
.row
;
42 u0
+= ti
->duy
*(ti
->y
-y0
);
43 v0
+= ti
->dvy
*(ti
->y
-y0
);
47 fix u
= u0
+ dx
*ti
->dux
;
48 fix v
= v0
+ dx
*ti
->dvx
;
49 ti
->il_func(r
->left
, r
->right
, u
, v
);
58 void lit_lmap_shell(grs_vertex
**vpl
)
60 grs_vertex
*vp
=vpl
[0];
66 g2_calc_deltas(vpl
, TMF_CALC_UVI
);
67 r0
= gr_rasterize(vpl
, 3, NULL
);
73 u0
= vp
->u
- fix_mul(fix_frac(vp
->x
), ti
->dux
)
74 - fix_mul(fix_frac(vp
->y
), ti
->duy
);
75 v0
= vp
->v
- fix_mul(fix_frac(vp
->x
), ti
->dvx
)
76 - fix_mul(fix_frac(vp
->y
), ti
->dvy
);
77 i0
= vp
->i
- fix_mul(fix_frac(vp
->x
), ti
->dix
)
78 - fix_mul(fix_frac(vp
->y
), ti
->diy
);
81 ti
->p_dest
= grd_bm
.bits
+ ti
->y
*grd_bm
.row
;
83 u0
+= ti
->duy
*(ti
->y
-y0
);
84 v0
+= ti
->dvy
*(ti
->y
-y0
);
85 i0
+= ti
->diy
*(ti
->y
-y0
);
89 fix u
= u0
+ dx
*ti
->dux
;
90 fix v
= v0
+ dx
*ti
->dvx
;
91 ti
->i
= i0
+ dx
*ti
->dix
;
92 ti
->il_func(r
->left
, r
->right
, u
, v
);