Не поясните почему? Вроде бы направление взгляда камеры известно, нормали вершин тоже. Если скалярное произведение этих векторов положительно, нормаль треугольника надо перевернуть. Ну или из матрицы можно эту информацию вытащить.
Чаще всего нормаль, записанная в вертексы треугольника, не будет перпендикулярна плоскости треугольника (из-за софт эджей, настроенных художником). SV_IsFrontFace же не зависит от нормали и оперирует порядком объявления вершин и работает для всего треугольника.
Из MSDN:
Floating-point scalar that indicates a back-facing primitive. A negative value faces backwards, while a positive value faces the camera.
Он рассчитывается аппаратно для всего треугольника.
Маленькие трюки DirectX и HLSL