Cluster : faites tourner povray sur plusieurs ordinateurs (+ decoupage de fichiers ini)

Soyez le premier à donner votre avis sur cette source.

Vue 5 863 fois - Téléchargée 166 fois

Description

Salut

povray (persistance of vision raytracer) est un logiciel de rendu 3d http://www.povray.org on peut y faire des choses magnifiques, mais parfois (souvent...) il faut un certain temps pour afficher une image en 1024*768, et meme parfois pour des resolutions inferieures, ca rame terriblement... surtout des que l'on va jouer un petit peu avec les particules...

derniere video povray generee : 26h de rendu... j'etais un peu degoute par la puissance que demande un rendu 3d... sachant qu'il faut 24 images par secondes, on doit donc faire... 240 frames pour 10 secondes de videos, avant de savoir si deux objets entrent en contact pendant la video... (si les deux objets bougent, alors c'est complique de savoir si ils se tapent) et au bout de ces 26h... bah un chandelier coupait une assiette... tout a refaire...

J'etais un peu degoute, donc en rentrant chez moi, j'ai pris mon laptop, regarde mon "vieux" celeron, lui ai lance "t'as plus rien a calculer, pauvre machine... tu m'as bien servi autrefois, on va tenter de te donner une nouvelle vie !" j'ai lance Kate, reflechis un peu, fait un truc en php qui decoupe un .ini en autant de .ini que necessaire (pour faire $step images par fichier .ini), un serveur, un client, teste tout ca... ca fonctionne...

Ce code permet donc :
- de decouper un fichier ini en plusieurs fichiers ini pour povray, de facon a decouper une scene
- de lancer un serveur de cluster qui permet
- de calculer une video povray sur plusieurs pcs
- de calculer une video povray sur plusieurs coeurs sur un meme processeur
- de tout renvoyer au serveur pour qu'il garde ca dans SON dossier

les outils suivants sont necessaires au bon fonctionnement des scripts :
- php-cli
- povray evidement
- tar

le tout fonctionnant evidement de preference sous un environement unix/linux

Source / Exemple :


principe :
le serveur fait un .tar

le client se connecte, demande son .tar
on envoi le .tar au client
le client decompacte son .tar

le client demande une commande d'init
on la lui envoie

le client demande du travail
on le lui donne tant qu'il y en a, sinon, on lui envoi une commande qui lui dit qu'il n'y en a plus

quand il n'y a plus de travail, le client fait un .tar avec les images generees
le serveur decompacte le .tar

et voila, miracle du "partage de travail"

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26 -
c'est justement le probleme, va modeliser un diner aux chandelles sans ca...
tuckleberry
Messages postés
12
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
11 janvier 2010
-
Oups, j'ai dû sauté cete ligne.. désolé :(
A noter que les dernières versions 3.7 utilisent déjà le multi-core, mais pour l'instant toutes les fonctionnalités (radiosité, photons) ne sont pas supportée.
coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26 -
Ce code permet donc :
...
- de calculer une video povray sur plusieurs coeurs sur un meme processeur
tuckleberry
Messages postés
12
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
11 janvier 2010
-
Glop !
Mais non Malalam, cela peut intéresser un certain nombre de personnes ;)
je ne peux pas tester parce que je n'ai qu'un seul pc, mais merci coucou747 !
coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26 -
ouais... j'ai fait ca un retour de weekend ou je m'etais rate dans mon rendu 3d... j'etais degoute, apres 26 heures, un chandelier eclatait une assiette...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.