SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler offline
Powiter
Alexandre Gauthier-Foichat
Boost your code 2013
31 mai 2013
Alexandre Gauthier-Foichat 1/35
Plan
1 Introduction
1 Qu’est-ce que Powiter
2 Portée
3 Philosophie
2 Développement
1 Le noyau du logiciel
2 Kit de développement
3 Organisation
4 Conclusion
Alexandre Gauthier-Foichat 2/35
Qu’est-ce que Powiter?
• Logiciel de compositing et de traitement vidéo
• Open-source et portable (Windows, Linux, OSX)
Alexandre Gauthier-Foichat 3/35
Qu’est-ce que le compositing ?
Image avant matting Elements à ajouter
Image retouchée
Alexandre Gauthier-Foichat 4/35
Domaines d’application
Le cinéma La publicité
Le divertissement
Alexandre Gauthier-Foichat 5/35
Portée : pour qui ?
• Éducation, recherche , industrie...
Alexandre Gauthier-Foichat 6/35
Portée : pour qui ?
• Éducation, recherche , industrie...
• Utilisable pour des applications commerciales ou non
Alexandre Gauthier-Foichat 6/35
Portée : pour qui ?
• Éducation, recherche , industrie...
• Utilisable pour des applications commerciales ou non
−→ Offrir la possibilité à tout le monde de créer des films
Alexandre Gauthier-Foichat 6/35
Communauté
• Communauté similaire à celle du logiciel Blender
Alexandre Gauthier-Foichat 7/35
Communauté
• Communauté similaire à celle du logiciel Blender
• Blender : multitâche mais peu performant
Alexandre Gauthier-Foichat 7/35
Communauté
• Communauté similaire à celle du logiciel Blender
• Blender : multitâche mais peu performant
• Une interface trop complexe
Alexandre Gauthier-Foichat 7/35
Philosophie: accessible
• Fournir une alternative gratuite
Alexandre Gauthier-Foichat 8/35
Philosophie: accessible
• Fournir une alternative gratuite
Nuke: 4000 euros After Effects: 1500
euros
Alexandre Gauthier-Foichat 8/35
Philosophie: créatif
• Stimuler la créativité avec une interface simple
Alexandre Gauthier-Foichat 9/35
Philosophie: créatif
• Stimuler la créativité avec une interface simple
• Interface similaire aux autres logiciels du marché
Alexandre Gauthier-Foichat 9/35
Philosophie: communautaire
• Objectif : permettre à quiconque de programmer avec le
SDK
Alexandre Gauthier-Foichat 10/35
Philosophie: communautaire
• Objectif : permettre à quiconque de programmer avec le
SDK−→ Intérêt: profiter de Powiter pour son propre
algorithme.
Alexandre Gauthier-Foichat 10/35
Philosophie: communautaire
• Objectif : permettre à quiconque de programmer avec le
SDK−→ Intérêt: profiter de Powiter pour son propre
algorithme.
Calcul de points d’intêrets pour faire du suivi de
mouvements
Alexandre Gauthier-Foichat 10/35
Philosophie: communautaire
• Objectif : permettre à quiconque de programmer avec le
SDK−→ Intérêt: profiter de Powiter pour son propre
algorithme.
Calcul de points d’intêrets pour faire du suivi de
mouvements
• L’aspect communautaire sera l’atout principal −→ plus
d’outils pour l’utilisateur
Alexandre Gauthier-Foichat 10/35
Licence
• Le coeur du logiciel sera sous licence GPL
• Le SDK sera sous licence LGPL
−→ Une sociéte de post-production pourra vendre ses
technologies
Licence du noyau Licence du SDK
Alexandre Gauthier-Foichat 11/35
Plan
1 Introduction
1 Qu’est-ce que Powiter
2 Portée
3 Philosophie
2 Développement
1 Le noyau du logiciel
2 Kit de développement
3 Organisation
4 Conclusion
Alexandre Gauthier-Foichat 12/35
Une structure nodale
• Outil de travail principal : le DAG (direct acyclic graph)
• Chaque noeud représente une modification de l’image
Un graphe complexe
Alexandre Gauthier-Foichat 13/35
Un exemple de graphe
Alexandre Gauthier-Foichat 14/35
Un exemple de graphe(2)
Alexandre Gauthier-Foichat 15/35
Un exemple de graphe(3)
Alexandre Gauthier-Foichat 16/35
Un exemple de graphe(4)
Alexandre Gauthier-Foichat 17/35
Un exemple de graphe(5)
Image tirée du film: La planète des singes: les origines
Alexandre Gauthier-Foichat 18/35
Avantages du graphe
Simple flou
gaussien
• Retour utilisateur très visuel et intuitif
Alexandre Gauthier-Foichat 19/35
Avantages du graphe
Simple flou
gaussien
• Retour utilisateur très visuel et intuitif
• Réutilisation de résultats intermédiaires
Alexandre Gauthier-Foichat 19/35
Avantages du graphe
Simple flou
gaussien
• Retour utilisateur très visuel et intuitif
• Réutilisation de résultats intermédiaires
• Il est très facile d’éffectuer des modifications au graphe
Alexandre Gauthier-Foichat 19/35
Graphes templates
• Création de graphes "templates"
Alexandre Gauthier-Foichat 20/35
Graphes templates
• Création de graphes "templates"
Conversion d’un graphe en un seul noeud
Alexandre Gauthier-Foichat 20/35
Performances du graphe
• Besoin → changer le graphe ne doit pas provoquer de délai
Alexandre Gauthier-Foichat 21/35
Performances du graphe
• Besoin → changer le graphe ne doit pas provoquer de délai
• Chaque noeud stocke ses résultats
Alexandre Gauthier-Foichat 21/35
Performances du graphe
• Besoin → changer le graphe ne doit pas provoquer de délai
• Chaque noeud stocke ses résultats
• Certains noeuds verront leur implémentation faite en
Cuda/OpenCL
Alexandre Gauthier-Foichat 21/35
Performances du graphe
• Besoin → changer le graphe ne doit pas provoquer de délai
• Chaque noeud stocke ses résultats
• Certains noeuds verront leur implémentation faite en
Cuda/OpenCL
• Objectif −→ être au moins aussi performant que les
logiciels propriétaires
Alexandre Gauthier-Foichat 21/35
Viewer: Retour utilisateur
Interface pensée pour l’utilisateur
Alexandre Gauthier-Foichat 22/35
Viewer: Retour utilisateur(2)
Déplacement et zoom Couleurs au pixel près
Alexandre Gauthier-Foichat 23/35
Performances: Un viewer real-time
• Une très grande partie du développement est axée sur
l’optimisation
Alexandre Gauthier-Foichat 24/35
Performances: Un viewer real-time
• Une très grande partie du développement est axée sur
l’optimisation
• Utilisation en plus du matériel graphique
Alexandre Gauthier-Foichat 24/35
Propriétés des noeuds
• Le dock à droite s’occupe de paramétrer les noeuds
Propriétés du noeud Reader
Alexandre Gauthier-Foichat 25/35
Propriétés des noeuds
• Le dock à droite s’occupe de paramétrer les noeuds
Propriétés du noeud Reader
• Un système de script permettra de configurer le graphe
sans interface
Alexandre Gauthier-Foichat 25/35
Plan
1 Introduction
1 Qu’est-ce que Powiter
2 Portée
3 Philosophie
2 Développement
1 Le noyau du logiciel
2 Kit de développement
3 Organisation
4 Conclusion
Alexandre Gauthier-Foichat 26/35
SDK: Scripts
• Graphe configurable en scripts Python
Alexandre Gauthier-Foichat 27/35
SDK: Scripts
• Graphe configurable en scripts Python
Script pour changer le format : convert.py
Alexandre Gauthier-Foichat 27/35
SDK: Scripts
• Graphe configurable en scripts Python
Script pour changer le format : convert.py
Utilisation en ligne de commande
Alexandre Gauthier-Foichat 27/35
Le kit de développement
• Interface C++ simple et documentée permettant de créer
de nouveaux noeuds.
Alexandre Gauthier-Foichat 28/35
SDK: Compatibilité avec les autres
logiciels
• Powiter implémente OpenFX
−→ standard d’interchange pour les effets
spéciaux.
Alexandre Gauthier-Foichat 29/35
SDK: Compatibilité avec les autres
logiciels
• Powiter implémente OpenFX
−→ standard d’interchange pour les effets
spéciaux.
• Fichiers de géométrie en .fbx (format de
Maya de Autodesk)
Alexandre Gauthier-Foichat 29/35
SDK: Compatibilité avec les autres
logiciels
• Powiter implémente OpenFX
−→ standard d’interchange pour les effets
spéciaux.
• Fichiers de géométrie en .fbx (format de
Maya de Autodesk)
• Dans le futur, Powiter proposera une API
pour une technologie de frame-server
Alexandre Gauthier-Foichat 29/35
Plan
1 Introduction
1 Qu’est-ce que Powiter
2 Portée
3 Philosophie
2 Développement
1 Le noyau du logiciel
2 Kit de développement
3 Organisation
4 Conclusion
Alexandre Gauthier-Foichat 30/35
Travail réalisé
• Interface utilisateur
Alexandre Gauthier-Foichat 31/35
Travail réalisé
• Interface utilisateur
• Moteur d’éxécution de graphe
Alexandre Gauthier-Foichat 31/35
Travail réalisé
• Interface utilisateur
• Moteur d’éxécution de graphe
• Viewer
Alexandre Gauthier-Foichat 31/35
Travail réalisé
• Interface utilisateur
• Moteur d’éxécution de graphe
• Viewer
• Moteur de cache
Alexandre Gauthier-Foichat 31/35
Gestion des sources
• Le noyau possède un dépôt github réservé aux
développeurs expérimentés
Alexandre Gauthier-Foichat 32/35
Gestion des sources
• Le noyau possède un dépôt github réservé aux
développeurs expérimentés
• Plug-ins séparés du noyau avec un système automatique
de gestion
Alexandre Gauthier-Foichat 32/35
Gestion des sources
• Le noyau possède un dépôt github réservé aux
développeurs expérimentés
• Plug-ins séparés du noyau avec un système automatique
de gestion
• Certains plug-ins incorporés de base au noyau
Alexandre Gauthier-Foichat 32/35
Documentation
• Documentation utilisateur: manuel et tutoriels vidéos
Alexandre Gauthier-Foichat 33/35
Documentation
• Documentation utilisateur: manuel et tutoriels vidéos
• Le noyau comportera une documentation interne.
Alexandre Gauthier-Foichat 33/35
Documentation
• Documentation utilisateur: manuel et tutoriels vidéos
• Le noyau comportera une documentation interne.
• Documentation SDK: guide de développement +
documentation automatique
Une page web pour le SDK
Alexandre Gauthier-Foichat 33/35
Conclusion
• Un projet ambitieux qui a commencé en juin 2012
• Le cinéma et les effets spéciaux sont une grande passion
pour moi
• Des centaines d’heures passées dessus
• Un remerciement particulier à Frédéric Devernay (équipe
prima Inria) qui continue de m’aider dans ce projet
Alexandre Gauthier-Foichat 34/35
Questions
• Merci de votre attention !
• Des questions?
Alexandre Gauthier-Foichat 35/35

Mais conteúdo relacionado

Semelhante a Slide show Powiter

a Supply Chain a pour mission de gérer de bout en bout les flux
a Supply Chain a pour mission de gérer de bout en bout les fluxa Supply Chain a pour mission de gérer de bout en bout les flux
a Supply Chain a pour mission de gérer de bout en bout les fluxDanielMohamed4
 
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...akramalidrissi1
 
MWCP21 - Introduction GitHub et SharePoint Framework
MWCP21 - Introduction GitHub et SharePoint FrameworkMWCP21 - Introduction GitHub et SharePoint Framework
MWCP21 - Introduction GitHub et SharePoint FrameworkLaurent Sittler
 
Introduction au développement Windows 8.1
Introduction au développement Windows 8.1Introduction au développement Windows 8.1
Introduction au développement Windows 8.1Microsoft
 
alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)Alphorm
 
Portable Class Library et Nuget : Le Combo gagnant
Portable Class Library et Nuget : Le Combo gagnantPortable Class Library et Nuget : Le Combo gagnant
Portable Class Library et Nuget : Le Combo gagnantMicrosoft
 
Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013
Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013
Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013Xavier NOPRE
 
Utiliser et ameliorer firefox avec les webextensions
Utiliser et ameliorer firefox avec les webextensionsUtiliser et ameliorer firefox avec les webextensions
Utiliser et ameliorer firefox avec les webextensionsChristophe Villeneuve
 
Comment développer pour Linux avec Delphi
Comment développer pour Linux avec DelphiComment développer pour Linux avec Delphi
Comment développer pour Linux avec Delphipprem
 
1 heure chrono pour votre plateforme Open Data en ligne : pari tenu !
1 heure chrono pour votre plateforme Open Data en ligne : pari tenu !1 heure chrono pour votre plateforme Open Data en ligne : pari tenu !
1 heure chrono pour votre plateforme Open Data en ligne : pari tenu !Microsoft Technet France
 
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...jihbed
 
#MSDEVMTL Introduction à #SonarQube
#MSDEVMTL Introduction à #SonarQube#MSDEVMTL Introduction à #SonarQube
#MSDEVMTL Introduction à #SonarQubeVincent Biret
 
Scrum - Une méthode agile sous la loupe ...
Scrum  - Une méthode agile sous la loupe ...Scrum  - Une méthode agile sous la loupe ...
Scrum - Une méthode agile sous la loupe ...Bilel McSam
 
Formation autour de git et git lab
Formation autour de git et git labFormation autour de git et git lab
Formation autour de git et git labAbdelghani Azri
 
Présentation Global Azure Bootcamp Rennes 2018
Présentation Global Azure Bootcamp Rennes 2018Présentation Global Azure Bootcamp Rennes 2018
Présentation Global Azure Bootcamp Rennes 2018Thierry Buisson
 
Alphorm.com Support de la Formation Git
Alphorm.com Support de la Formation Git Alphorm.com Support de la Formation Git
Alphorm.com Support de la Formation Git Alphorm
 
L'open hardware : l'ouverture au service de l'innovation
L'open hardware : l'ouverture au service de l'innovationL'open hardware : l'ouverture au service de l'innovation
L'open hardware : l'ouverture au service de l'innovationRobert Viseur
 
Séminaire Linagora : poste de travail Libre, décembre 2009
Séminaire Linagora : poste de travail Libre, décembre 2009Séminaire Linagora : poste de travail Libre, décembre 2009
Séminaire Linagora : poste de travail Libre, décembre 2009LINAGORA
 

Semelhante a Slide show Powiter (20)

a Supply Chain a pour mission de gérer de bout en bout les flux
a Supply Chain a pour mission de gérer de bout en bout les fluxa Supply Chain a pour mission de gérer de bout en bout les flux
a Supply Chain a pour mission de gérer de bout en bout les flux
 
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
GIT & Future Branching-0d86ea39-71ad-4a19-940c-c10be7c33b08-9feea918-d69a-47e...
 
MWCP21 - Introduction GitHub et SharePoint Framework
MWCP21 - Introduction GitHub et SharePoint FrameworkMWCP21 - Introduction GitHub et SharePoint Framework
MWCP21 - Introduction GitHub et SharePoint Framework
 
Introduction au développement Windows 8.1
Introduction au développement Windows 8.1Introduction au développement Windows 8.1
Introduction au développement Windows 8.1
 
Tizen sdk-solutionslinux-20130529
Tizen sdk-solutionslinux-20130529Tizen sdk-solutionslinux-20130529
Tizen sdk-solutionslinux-20130529
 
alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)
 
Portable Class Library et Nuget : Le Combo gagnant
Portable Class Library et Nuget : Le Combo gagnantPortable Class Library et Nuget : Le Combo gagnant
Portable Class Library et Nuget : Le Combo gagnant
 
Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013
Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013
Agilistes : n'oubliez pas la technique ! - Agile France - 23/05/2013
 
Utiliser et ameliorer firefox avec les webextensions
Utiliser et ameliorer firefox avec les webextensionsUtiliser et ameliorer firefox avec les webextensions
Utiliser et ameliorer firefox avec les webextensions
 
Comment développer pour Linux avec Delphi
Comment développer pour Linux avec DelphiComment développer pour Linux avec Delphi
Comment développer pour Linux avec Delphi
 
1 heure chrono pour votre plateforme Open Data en ligne : pari tenu !
1 heure chrono pour votre plateforme Open Data en ligne : pari tenu !1 heure chrono pour votre plateforme Open Data en ligne : pari tenu !
1 heure chrono pour votre plateforme Open Data en ligne : pari tenu !
 
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
 
L'univers Android
L'univers AndroidL'univers Android
L'univers Android
 
#MSDEVMTL Introduction à #SonarQube
#MSDEVMTL Introduction à #SonarQube#MSDEVMTL Introduction à #SonarQube
#MSDEVMTL Introduction à #SonarQube
 
Scrum - Une méthode agile sous la loupe ...
Scrum  - Une méthode agile sous la loupe ...Scrum  - Une méthode agile sous la loupe ...
Scrum - Une méthode agile sous la loupe ...
 
Formation autour de git et git lab
Formation autour de git et git labFormation autour de git et git lab
Formation autour de git et git lab
 
Présentation Global Azure Bootcamp Rennes 2018
Présentation Global Azure Bootcamp Rennes 2018Présentation Global Azure Bootcamp Rennes 2018
Présentation Global Azure Bootcamp Rennes 2018
 
Alphorm.com Support de la Formation Git
Alphorm.com Support de la Formation Git Alphorm.com Support de la Formation Git
Alphorm.com Support de la Formation Git
 
L'open hardware : l'ouverture au service de l'innovation
L'open hardware : l'ouverture au service de l'innovationL'open hardware : l'ouverture au service de l'innovation
L'open hardware : l'ouverture au service de l'innovation
 
Séminaire Linagora : poste de travail Libre, décembre 2009
Séminaire Linagora : poste de travail Libre, décembre 2009Séminaire Linagora : poste de travail Libre, décembre 2009
Séminaire Linagora : poste de travail Libre, décembre 2009
 

Slide show Powiter

  • 1. Powiter Alexandre Gauthier-Foichat Boost your code 2013 31 mai 2013 Alexandre Gauthier-Foichat 1/35
  • 2. Plan 1 Introduction 1 Qu’est-ce que Powiter 2 Portée 3 Philosophie 2 Développement 1 Le noyau du logiciel 2 Kit de développement 3 Organisation 4 Conclusion Alexandre Gauthier-Foichat 2/35
  • 3. Qu’est-ce que Powiter? • Logiciel de compositing et de traitement vidéo • Open-source et portable (Windows, Linux, OSX) Alexandre Gauthier-Foichat 3/35
  • 4. Qu’est-ce que le compositing ? Image avant matting Elements à ajouter Image retouchée Alexandre Gauthier-Foichat 4/35
  • 5. Domaines d’application Le cinéma La publicité Le divertissement Alexandre Gauthier-Foichat 5/35
  • 6. Portée : pour qui ? • Éducation, recherche , industrie... Alexandre Gauthier-Foichat 6/35
  • 7. Portée : pour qui ? • Éducation, recherche , industrie... • Utilisable pour des applications commerciales ou non Alexandre Gauthier-Foichat 6/35
  • 8. Portée : pour qui ? • Éducation, recherche , industrie... • Utilisable pour des applications commerciales ou non −→ Offrir la possibilité à tout le monde de créer des films Alexandre Gauthier-Foichat 6/35
  • 9. Communauté • Communauté similaire à celle du logiciel Blender Alexandre Gauthier-Foichat 7/35
  • 10. Communauté • Communauté similaire à celle du logiciel Blender • Blender : multitâche mais peu performant Alexandre Gauthier-Foichat 7/35
  • 11. Communauté • Communauté similaire à celle du logiciel Blender • Blender : multitâche mais peu performant • Une interface trop complexe Alexandre Gauthier-Foichat 7/35
  • 12. Philosophie: accessible • Fournir une alternative gratuite Alexandre Gauthier-Foichat 8/35
  • 13. Philosophie: accessible • Fournir une alternative gratuite Nuke: 4000 euros After Effects: 1500 euros Alexandre Gauthier-Foichat 8/35
  • 14. Philosophie: créatif • Stimuler la créativité avec une interface simple Alexandre Gauthier-Foichat 9/35
  • 15. Philosophie: créatif • Stimuler la créativité avec une interface simple • Interface similaire aux autres logiciels du marché Alexandre Gauthier-Foichat 9/35
  • 16. Philosophie: communautaire • Objectif : permettre à quiconque de programmer avec le SDK Alexandre Gauthier-Foichat 10/35
  • 17. Philosophie: communautaire • Objectif : permettre à quiconque de programmer avec le SDK−→ Intérêt: profiter de Powiter pour son propre algorithme. Alexandre Gauthier-Foichat 10/35
  • 18. Philosophie: communautaire • Objectif : permettre à quiconque de programmer avec le SDK−→ Intérêt: profiter de Powiter pour son propre algorithme. Calcul de points d’intêrets pour faire du suivi de mouvements Alexandre Gauthier-Foichat 10/35
  • 19. Philosophie: communautaire • Objectif : permettre à quiconque de programmer avec le SDK−→ Intérêt: profiter de Powiter pour son propre algorithme. Calcul de points d’intêrets pour faire du suivi de mouvements • L’aspect communautaire sera l’atout principal −→ plus d’outils pour l’utilisateur Alexandre Gauthier-Foichat 10/35
  • 20. Licence • Le coeur du logiciel sera sous licence GPL • Le SDK sera sous licence LGPL −→ Une sociéte de post-production pourra vendre ses technologies Licence du noyau Licence du SDK Alexandre Gauthier-Foichat 11/35
  • 21. Plan 1 Introduction 1 Qu’est-ce que Powiter 2 Portée 3 Philosophie 2 Développement 1 Le noyau du logiciel 2 Kit de développement 3 Organisation 4 Conclusion Alexandre Gauthier-Foichat 12/35
  • 22. Une structure nodale • Outil de travail principal : le DAG (direct acyclic graph) • Chaque noeud représente une modification de l’image Un graphe complexe Alexandre Gauthier-Foichat 13/35
  • 23. Un exemple de graphe Alexandre Gauthier-Foichat 14/35
  • 24. Un exemple de graphe(2) Alexandre Gauthier-Foichat 15/35
  • 25. Un exemple de graphe(3) Alexandre Gauthier-Foichat 16/35
  • 26. Un exemple de graphe(4) Alexandre Gauthier-Foichat 17/35
  • 27. Un exemple de graphe(5) Image tirée du film: La planète des singes: les origines Alexandre Gauthier-Foichat 18/35
  • 28. Avantages du graphe Simple flou gaussien • Retour utilisateur très visuel et intuitif Alexandre Gauthier-Foichat 19/35
  • 29. Avantages du graphe Simple flou gaussien • Retour utilisateur très visuel et intuitif • Réutilisation de résultats intermédiaires Alexandre Gauthier-Foichat 19/35
  • 30. Avantages du graphe Simple flou gaussien • Retour utilisateur très visuel et intuitif • Réutilisation de résultats intermédiaires • Il est très facile d’éffectuer des modifications au graphe Alexandre Gauthier-Foichat 19/35
  • 31. Graphes templates • Création de graphes "templates" Alexandre Gauthier-Foichat 20/35
  • 32. Graphes templates • Création de graphes "templates" Conversion d’un graphe en un seul noeud Alexandre Gauthier-Foichat 20/35
  • 33. Performances du graphe • Besoin → changer le graphe ne doit pas provoquer de délai Alexandre Gauthier-Foichat 21/35
  • 34. Performances du graphe • Besoin → changer le graphe ne doit pas provoquer de délai • Chaque noeud stocke ses résultats Alexandre Gauthier-Foichat 21/35
  • 35. Performances du graphe • Besoin → changer le graphe ne doit pas provoquer de délai • Chaque noeud stocke ses résultats • Certains noeuds verront leur implémentation faite en Cuda/OpenCL Alexandre Gauthier-Foichat 21/35
  • 36. Performances du graphe • Besoin → changer le graphe ne doit pas provoquer de délai • Chaque noeud stocke ses résultats • Certains noeuds verront leur implémentation faite en Cuda/OpenCL • Objectif −→ être au moins aussi performant que les logiciels propriétaires Alexandre Gauthier-Foichat 21/35
  • 37. Viewer: Retour utilisateur Interface pensée pour l’utilisateur Alexandre Gauthier-Foichat 22/35
  • 38. Viewer: Retour utilisateur(2) Déplacement et zoom Couleurs au pixel près Alexandre Gauthier-Foichat 23/35
  • 39. Performances: Un viewer real-time • Une très grande partie du développement est axée sur l’optimisation Alexandre Gauthier-Foichat 24/35
  • 40. Performances: Un viewer real-time • Une très grande partie du développement est axée sur l’optimisation • Utilisation en plus du matériel graphique Alexandre Gauthier-Foichat 24/35
  • 41. Propriétés des noeuds • Le dock à droite s’occupe de paramétrer les noeuds Propriétés du noeud Reader Alexandre Gauthier-Foichat 25/35
  • 42. Propriétés des noeuds • Le dock à droite s’occupe de paramétrer les noeuds Propriétés du noeud Reader • Un système de script permettra de configurer le graphe sans interface Alexandre Gauthier-Foichat 25/35
  • 43. Plan 1 Introduction 1 Qu’est-ce que Powiter 2 Portée 3 Philosophie 2 Développement 1 Le noyau du logiciel 2 Kit de développement 3 Organisation 4 Conclusion Alexandre Gauthier-Foichat 26/35
  • 44. SDK: Scripts • Graphe configurable en scripts Python Alexandre Gauthier-Foichat 27/35
  • 45. SDK: Scripts • Graphe configurable en scripts Python Script pour changer le format : convert.py Alexandre Gauthier-Foichat 27/35
  • 46. SDK: Scripts • Graphe configurable en scripts Python Script pour changer le format : convert.py Utilisation en ligne de commande Alexandre Gauthier-Foichat 27/35
  • 47. Le kit de développement • Interface C++ simple et documentée permettant de créer de nouveaux noeuds. Alexandre Gauthier-Foichat 28/35
  • 48. SDK: Compatibilité avec les autres logiciels • Powiter implémente OpenFX −→ standard d’interchange pour les effets spéciaux. Alexandre Gauthier-Foichat 29/35
  • 49. SDK: Compatibilité avec les autres logiciels • Powiter implémente OpenFX −→ standard d’interchange pour les effets spéciaux. • Fichiers de géométrie en .fbx (format de Maya de Autodesk) Alexandre Gauthier-Foichat 29/35
  • 50. SDK: Compatibilité avec les autres logiciels • Powiter implémente OpenFX −→ standard d’interchange pour les effets spéciaux. • Fichiers de géométrie en .fbx (format de Maya de Autodesk) • Dans le futur, Powiter proposera une API pour une technologie de frame-server Alexandre Gauthier-Foichat 29/35
  • 51. Plan 1 Introduction 1 Qu’est-ce que Powiter 2 Portée 3 Philosophie 2 Développement 1 Le noyau du logiciel 2 Kit de développement 3 Organisation 4 Conclusion Alexandre Gauthier-Foichat 30/35
  • 52. Travail réalisé • Interface utilisateur Alexandre Gauthier-Foichat 31/35
  • 53. Travail réalisé • Interface utilisateur • Moteur d’éxécution de graphe Alexandre Gauthier-Foichat 31/35
  • 54. Travail réalisé • Interface utilisateur • Moteur d’éxécution de graphe • Viewer Alexandre Gauthier-Foichat 31/35
  • 55. Travail réalisé • Interface utilisateur • Moteur d’éxécution de graphe • Viewer • Moteur de cache Alexandre Gauthier-Foichat 31/35
  • 56. Gestion des sources • Le noyau possède un dépôt github réservé aux développeurs expérimentés Alexandre Gauthier-Foichat 32/35
  • 57. Gestion des sources • Le noyau possède un dépôt github réservé aux développeurs expérimentés • Plug-ins séparés du noyau avec un système automatique de gestion Alexandre Gauthier-Foichat 32/35
  • 58. Gestion des sources • Le noyau possède un dépôt github réservé aux développeurs expérimentés • Plug-ins séparés du noyau avec un système automatique de gestion • Certains plug-ins incorporés de base au noyau Alexandre Gauthier-Foichat 32/35
  • 59. Documentation • Documentation utilisateur: manuel et tutoriels vidéos Alexandre Gauthier-Foichat 33/35
  • 60. Documentation • Documentation utilisateur: manuel et tutoriels vidéos • Le noyau comportera une documentation interne. Alexandre Gauthier-Foichat 33/35
  • 61. Documentation • Documentation utilisateur: manuel et tutoriels vidéos • Le noyau comportera une documentation interne. • Documentation SDK: guide de développement + documentation automatique Une page web pour le SDK Alexandre Gauthier-Foichat 33/35
  • 62. Conclusion • Un projet ambitieux qui a commencé en juin 2012 • Le cinéma et les effets spéciaux sont une grande passion pour moi • Des centaines d’heures passées dessus • Un remerciement particulier à Frédéric Devernay (équipe prima Inria) qui continue de m’aider dans ce projet Alexandre Gauthier-Foichat 34/35
  • 63. Questions • Merci de votre attention ! • Des questions? Alexandre Gauthier-Foichat 35/35