ct->normal_mass += v3_dot( rbCn, rbCnI );
ct->normal_mass = 1.0f/ct->normal_mass;
ct->normal_mass += v3_dot( rbCn, rbCnI );
ct->normal_mass = 1.0f/ct->normal_mass;
v3f raCtI, rbCtI;
v3_cross( ct->t[j], ra, raCt );
v3_cross( ct->t[j], rb, rbCt );
v3f raCtI, rbCtI;
v3_cross( ct->t[j], ra, raCt );
v3_cross( ct->t[j], rb, rbCt );
rb_rcv( ct->rba, ct->rbb, ra, rb, rv );
/* Friction */
rb_rcv( ct->rba, ct->rbb, ra, rb, rv );
/* Friction */
float f = k_friction * ct->norm_impulse,
vt = v3_dot( rv, ct->t[j] ),
lambda = ct->tangent_mass[j] * -vt;
float f = k_friction * ct->norm_impulse,
vt = v3_dot( rv, ct->t[j] ),
lambda = ct->tangent_mass[j] * -vt;