Non tout se fait dans le PIXEL shader. En fait tu as 2 pipelines si tu veux :
1) Le premier est un quad avec un pixel shader qui travaille uniquement sur la render target contenant les positions et qui fait :
. Lit le pixel contenant la position courante de la particule depuis la Render Target 0
. Applique une formule à la con pour modifier cette position (là dans la vidéo on dirait une simulation de ressort un peu foireuse)
. Stocke la nouvelle position dans la Render Target 1
Puis tu swappes RT0 / RT1 chaque frame
2) Le second pipeline c'est un VS, un GS et un PS, tous très simples :
. Le VS prend 1 million de points en entrée (en réalité, un seul point instancié 1 million de fois). Tu samples la position du point depuis la render target courante calculée par le pipeline précédent.
. Le GS étend chaque point en un tout p'tit quad (ou un triangle si vraiment tu comptes afficher des points)
. Le PS se contente d'afficher une couleur. Une couleur unie ou une couleur calculée dans le VS que tu passes au PS...
NOTE: Quand je parle de PS, je parle pas du parti politique de connards mais bien de pixel shaders...
