



Next: Protocoles Up: Réseau complet de l'application Previous: Réseau complet de l'application Contents
Schéma de communication
On a vu dans la partie 7.1 qu'il faut que les modules de fluide communiquent entre eux. On a aussi vu dans la partie 7.2 que les modules de rendu n'ont pas besoin de communications entre eux. Mais il faut que chaque noeud de fluide envoie ses données à tous les noeuds de rendu après chaque étape de simulation, et il faut que les noeuds de rendu communiquent avec le noeud d'affichage.
Chaque noeud de fluide doit communiquer ses ghosts à ses voisins, alors il y a une connexion aux voisins. Il doit aussi communiquer avec tous les noeuds de rendu, alors il y a une connexion de chaque noeud de fluide à chaque noeud de rendu.
Les noeuds de rendu ont besoin de deux ensembles de données. Ils ont besoin des données volumiques qui viennent de la simulation de fluide. La simulation est découplée du rendu, c'est à dire que la vitesse de simulation n'a pas de lien direct avec la vitesse de rendu. Le noeud de rendu peut recevoir plusieurs étapes de simulation pendant une étape de rendu, ou il peut faire le rendu plusieurs fois pendant une étape de simulation. On peut imaginer une simulation de fluide très lente : on voudrait toujours que le fluide sur l'écran tourne quand on bouge la souris, même que le fluide ne change que lentement. Alors on met un filtre ``glouton'' sur cette connexion. Ce filtre accepte toujours des nouvelles données du noeud de fluide, et il donne toujours les données les plus récentes au noeud de rendu.
Pour faire le rendu, il faut connaître la matrice actuelle qui décrit les paramètres de la caméra sur le noeud d'affichage pour pouvoir positionner la caméra et l'écran virtuel. On a alors une connexion du noeud d'affichage à tous les noeuds de rendu. Cette connexion n'a pas de filtre parce qu'il faut que les noeuds de rendu et le noeud d'affichage restent synchronisés. Les noeuds de rendu envoient ses données au noeud d'affichage, alors il y a aussi une connexion des noeuds de rendu au noeud d'affichage. Cette connexion n'a pas de filtre.
Le noeud d'affichage a deux connexions à chaque noeud de rendu, une pour envoyer la matrice et une pour recevoir les résultats de rendu.
On peut voir le schéma de communication pour un réseau avec quatre noeuds de fluide et deux noeuds de rendu sur la Figure 19.
|
Pour le reste du réseau, le module de fluide est tout simplement un module qui produit des données volumiques quelconques. Alors il est possible de remplacer ce module avec un autre module qui produit ses données d'une autre manière. Un tel module est un module de données statiques. Souvent on a des fichiers qui contiennent des données volumiques. Le module de données statiques charge le fichier et l'envoie directement aux noeuds de rendu. On a implanté un module de données statiques qui nous permet de tester la performance du rendu sans regarder la simulation de fluide, et de visualiser ces fichiers.




Next: Protocoles Up: Réseau complet de l'application Previous: Réseau complet de l'application Contents Michael Ash 2005-09-21