Показать сообщение отдельно
Старый 20.05.2014, 01:54   #266
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

Совсем забыл, что я не сортирую частицы по глубине. На скоряк сделал так.

D3DXMATRIX worldView;

bool ParticleZSort ( Particle & p1, Particle &p2 )
{ 
  D3DXVECTOR3 viewSpacePos1;
  D3DXVec3TransformCoord( &viewSpacePos1, &D3DXVECTOR3( p1.pos.x, p1.pos.y, p1.pos.z ), &worldView );

  D3DXVECTOR3 viewSpacePos2;
  D3DXVec3TransformCoord( &viewSpacePos2, &D3DXVECTOR3( p2.pos.x, p2.pos.y, p2.pos.z ), &worldView );

  return viewSpacePos1.z < viewSpacePos2.z;
}
В движке система частиц имеет буфер вершин и индексов. Тоесть я все частицы после сортировки запаковываю в буферы и передаю на отрисовку.
есть ли способы быстрее сортировать частицы по глубине?
__________________

(Offline)
 
Ответить с цитированием