Совсем забыл, что я не сортирую частицы по глубине. На скоряк сделал так.
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;
}
В движке система частиц имеет буфер вершин и индексов. Тоесть я все частицы после сортировки запаковываю в буферы и передаю на отрисовку.
есть ли способы быстрее сортировать частицы по глубине?