64 |
|
FVECT uva[2]; /* tangent axes */ |
65 |
|
int ntris; /* number of triangles */ |
66 |
|
struct ptri { |
67 |
< |
float afrac; /* fraction of total area */ |
67 |
> |
double afrac; /* fraction of total area */ |
68 |
|
short vndx[3]; /* vertex indices */ |
69 |
|
} tri[1]; /* triangle array (extends struct) */ |
70 |
|
} POLYTRIS; /* triangulated polygon */ |
602 |
|
sp->priv = (void *)ptp; |
603 |
|
} |
604 |
|
/* pick triangle by partial area */ |
605 |
< |
for (i = 0; i < ptp->ntris && x > ptp->tri[i].afrac; i++) |
605 |
> |
for (i = 0; i < ptp->ntris-1 && x > ptp->tri[i].afrac; i++) |
606 |
|
x -= ptp->tri[i].afrac; |
607 |
|
SDmultiSamp(samp2, 2, x/ptp->tri[i].afrac); |
608 |
|
samp2[0] *= samp2[1] = sqrt(samp2[1]); |