//modificado para transformar la normal y la posicion del punto private bool Intersect(Ray r, TransformedGraphic graphic, out IntersectionInfo info) { Ray transformedRay = r.Transformed(graphic.Transform.Inverse); if (Intersect(transformedRay, graphic.Graphic, out info)) { info.Position = (vec3)(new vec4(info.Position, 1) * graphic.Transform); info.Normal = info.Normal * ((mat3x3)graphic.Transform); return true; } return false; }