The Other Case
} else { // hither clipping yields one triangle
t = (near - v0.w)/(v2.w - v0.w);
Vertex3D.lerp(v2, v0, v2, t);
rgb[2] = rgbLerp(rgb[0], rgb[2], t);
t = (near - v0.w)/(v1.w - v0.w);
Vertex3D.lerp(v1, v0, v1, t);
rgb[1] = rgbLerp(rgb[0], rgb[1], t);
v0 = normalize(v0);
v1 = normalize(v1);
v2 = normalize(v2);
ClipYon(raster);
}
}
}
|