* @see ca.eandb.jmist.framework.Modifier#modify(ca.eandb.jmist.framework.ShadingContext)
*/
@Override
public void modify(ShadingContext context) {
Basis3 basis = context.getShadingBasis();
Point2 p = context.getUV();
Point2 pu = new Point2(p.x() + deltaU, p.y());
Point2 pv = new Point2(p.x(), p.y() + deltaV);
double h = scale * height.opacity(p);
double hu = scale * height.opacity(pu);
double hv = scale * height.opacity(pv);
Vector3 n = basis.toStandard(h - hu, h - hv, 1.0).unit();
Vector3 u = basis.u();
Vector3 v = basis.v();
basis = Basis3.fromWUV(n, u, v);
context.setShadingBasis(basis);
}