Another thing I'd like to be able to do...

Using the same method, I'd like to find the texel of the intersection.

Once you find the face, you can get the UV information from the vertex (a bit more annoying, but still doable). However, I'm not sure how to turn the UV information of the triangle's 3 vertices into the the texel at intersection.

Since D3DXIntersect gives you the UV coords using those would probably be the fastest. So, I have 2 main questions.

1) How do you convert vertex UV coords to the UV coords at a given point on a triangle (Point on triangle defined by UV coords as well)
I assume you can just interpolate in a Cartesian coordinate system, but I'd like to try to do it in a Barycentric system, so I don't have to convert out.

and 2) Since a vertex can have multiple UV coordinates, how is that expressed in DirectX meshes? Are vertices with different texture coords just stored as individual vertices?