Показать сообщение отдельно
Старый 22.08.2011, 13:22   #1
Mind
ПроЭктировщик
 
Аватар для Mind
 
Регистрация: 24.02.2011
Сообщений: 188
Написано 13 полезных сообщений
(для 18 пользователей)
передвижение с помощью матриц

Вот столкнулся с проблемой (т.к недавно перешел на С++):
Осуществляю передвижение объектом с помощью функции:

void MoveEntity(D3DXMATRIX& m,float dx,float dy,float dz)
{
  
  static float x,y,z;

  x += dx;
  y += dy;
  z += dz;

  m._11 = 1;   m._12 = 0;       m._13 = 0;   m._14 = 0;
  m._21 = 0;   m._22 = 1;       m._23 = 0;   m._24 = 0;
  m._31 = 0;   m._32 = 0;       m._33 = 1;   m._34 = 0;
  m._41 = x;   m._42 = y;	m._43 = -z;  m._44 = 1;

}
Но т.к я двигал один обьект все было норм, а как захотелось нсколько то понял что сделал ошибку - не надо инкриминировать x,y,z в функции т.к для последующего объекта будут прибавлены координать предыдущего.
Чет мозги не варят как можно сделать передвижение разных объектов с помощью одной функции?
(Offline)
 
Ответить с цитированием