Raytracer
Surfaces can implement ITexturable, which requires that they return a (u,v) texture coordinate for the struck (x,y,z) coordinate.
Surfaces can implement ITexturable, which requires that they return a (u,v) texture coordinate for the struck (x,y,z) coordinate.