public Raytracer() { if (main == null) { main = this; } }
public void SetTransform(Vector3 position, Vector3 LookAtPoint, Vector3 up, float lookAngleY) { this.position = position; lookDir = LookAtPoint - position; this.lookAngleY = Raytracer.DegreeToRadian(lookAngleY); Debug.WriteLine("Look angle y " + this.lookAngleY); lookAngleX = 2 * (float)Math.Atan((float)width / height * Math.Tan(this.lookAngleY / 2)); Debug.WriteLine("Look angle x " + lookAngleX); w = (position - LookAtPoint).Normalize(); u = Vector3.Cross(up, w).Normalize(); v = Vector3.Cross(w, u); }