In a ray tracer, given a point on a sphere (point_of_intersection with a ray) and its normal for that point (point_of_intersection - center_of_sphere) how do I calculate the tangent space for that point? Do I need other data to calculate the tangent space?
The tangent space is spanned by the tangent to the point and the bitangent (which is orthogonal to both tangent and normal).
So you need to calculate the tangent which is achieved by calculating the cross-product of the ray-direction and the normal. $T = N \times DIR$ The resulting vector will be orthogonal to the normal and thereby be the tangent.
Now calculate the cross-product of the tangent and the normal $BT = T \times N$ to create a vector orthogonal to both. This vector is the bitangent.
Tangent $T$ and bitangent $BT$ span a plane which is the tangent-space of your intersection-point.