J'ai un shader de calcul qui simule un fluide en tant que particule. Les particules sont lues à partir d'un tampon. Chaque particule est traitée dans un thread. Pendant l'exécution du thread, une particule déplace sa position uv et ajoute au pixel d'un UAV nommé Water. Par conséquent, chaque fil laisse une trace de son mouvement sur la texture Water.Existe-t-il un moyen d'écrire simultanément dans un UAV sans condition de compétition?
_watTx[texID] += watAddition * cellArea.x;
Le problème est qu'il ya beaucoup de particules qui se déplacent et le plus souvent multiples sont présents en même texID
. Il semble qu'il y ait une condition de compétition puisque chaque fois que je lance la simulation, les résultats sont légèrement différents. Existe-t-il un moyen d'imposer l'exclusion mutuelle afin que les écritures ne se produisent pas en même temps et que les résultats deviennent prévisibles?