Ну скинь исходники, объясни, как студию настроить, я сам и проверю
// move vertex position to object space.
VectorSubtract( p.org, bonefixup[p.bone].worldorg, tmp );
VectorTransform(tmp, bonefixup[p.bone].im, p.org );
// move normal to object space.
VectorCopy( normal.org, tmp );
VectorTransform(tmp, bonefixup[p.bone].im, normal.org );
VectorNormalize( normal.org );
У тебя нормаль в исходном виде в локальном пространстве кости. Ты понимаешь что это значит?Нормали вообще трогать не надо, они и так нормально работают.
А после расчетов в пространстве модели я умножаю TB на обратную матрицу кости, и вуаля, они в локальном пространстве кости.Т.е. у тебя они уже в пространстве модели, а не в пространстве кости.
Эххх. Локальная матрица кости не покидает пределов компилятораА после расчетов в пространстве модели я умножаю TB на обратную матрицу кости
На воротник посмотри - весь микрорельеф исчез. Я тут еще чуть-чуть побаловался с вращением бинормали и тангенты. Любые попытки просто приводят TBN к исходному состоянию.Как ты правильный бамп от неправильного отличаешь?