public bool Scatter(Ray ray, UnityEngine.Vector3 point, UnityEngine.Vector3 normal, out UnityEngine.Vector3 attenuation, out Ray scattered) { var reflected = Exten.reflect(ray.direction, normal); if (fuzz > 0) { reflected = reflected + fuzz * Exten.RandomVecInSphere(); } scattered = new Ray(point, reflected); attenuation = color; return(UnityEngine.Vector3.Dot(ray.direction, normal) < 0); }
public bool Scatter(Ray ray, UnityEngine.Vector3 point, UnityEngine.Vector3 normal, out UnityEngine.Vector3 attenuation, out Ray scattered) { scattered = new Ray(point, normal + Exten.RandomVecInSphere()); attenuation = color; return(true); }