rewrite ShadedSphereNode so that interface and look matches the Java implementation, to simplify porting