One vector isn’t enough to pin down the roll. You can see that rolling the vector would just rotate it around its own axis and wouldn’t change it at all. Roll only matters when you have a full coordinate system with three axes.

That being said, you can calculate roll by looking at the left/right axis of the coordinate system. If you use the convention of x = forward, y = left, z = up, then the roll is atan2(left.z, sqrt(left.x\^2 + left.y\^2)). Note that you can only roll up to +/- 90 degrees in this scheme; then there will be a discontinuity in the Euler angles.

I asked a question a while back that was about finding the yaw and pitch rotations for the equivelant of a direction (normalized) vector. That’s no longer a problem (thanks again Reed), but now I am doing a billboarded light beam and I need the z rotation (aka roll)

So I already have the x and y rotations, how do I compute roll with the direction vector from my camera to the light.

Thanks in advance.