* vector clamping
* reflection and refraction