Alexandre Gauthier-Foichat
LGM 2014
Leipzig, April 4th
Alexandre Gauthier-Foichat 1/15
Table of contents
1 Introduction
1 The project
2 Why we do it
3 License
2 Architecture
1 Feature for v1
2 Performances
3 Demand driven
4 OpenFX support
5 OpenFX current state
3 Conclusion
Alexandre Gauthier-Foichat 2/15
The project
• Hosted in a research team at INRIA
• Open-source, cross-platform nodal compositing software
• Video editing and image processing
• Funded since October 2013 as a result of an open-source
project contest
Alexandre Gauthier-Foichat 3/15
Compositing in short
Image before matting Road Signs
Final image
Alexandre Gauthier-Foichat 4/15
Why we do it
• Support OpenFX: standard to design visual effects
plug-ins.
Alexandre Gauthier-Foichat 5/15
Why we do it
• Support OpenFX: standard to design visual effects
plug-ins.
• No open-source graphical software supporting OpenFX
Alexandre Gauthier-Foichat 5/15
Why we do it
• Support OpenFX: standard to design visual effects
plug-ins.
• No open-source graphical software supporting OpenFX
• But used by many proprietary applications: Nuke,Scratch,
Da Vinci resolve...
Alexandre Gauthier-Foichat 5/15
Why we do it
• Support OpenFX: standard to design visual effects
plug-ins.
• No open-source graphical software supporting OpenFX
• But used by many proprietary applications: Nuke,Scratch,
Da Vinci resolve...
• Natron first targets education and research domains
Alexandre Gauthier-Foichat 5/15
License
• Most OpenFX plug-ins are commercial or released under
BSD-style license.
Alexandre Gauthier-Foichat 6/15
License
• Most OpenFX plug-ins are commercial or released under
BSD-style license.
• GPL programs cannot load non GPL plug-ins
Alexandre Gauthier-Foichat 6/15
License
• Most OpenFX plug-ins are commercial or released under
BSD-style license.
• GPL programs cannot load non GPL plug-ins
• This is probably why we don’t see many open-source
softwares around OpenFX
Alexandre Gauthier-Foichat 6/15
License
• Most OpenFX plug-ins are commercial or released under
BSD-style license.
• GPL programs cannot load non GPL plug-ins
• This is probably why we don’t see many open-source
softwares around OpenFX
• Natron is under Mozilla Public License (GPL compatible)
Alexandre Gauthier-Foichat 6/15
Table of contents
1 Introduction
1 The project
2 Why we do it
3 License
2 Architecture
1 Feature for v1
2 Performances
3 Demand driven
4 OpenFX support
5 OpenFX current state
3 Conclusion
Alexandre Gauthier-Foichat 7/15
Features for v1
• Implementation of a performant rendering engine
Alexandre Gauthier-Foichat 8/15
Features for v1
• Implementation of a performant rendering engine
• Animation support
Alexandre Gauthier-Foichat 8/15
Features for v1
• Implementation of a performant rendering engine
• Animation support
• Support for OpenFX v1.3: Over 500 plug-ins available
Alexandre Gauthier-Foichat 8/15
Based on many open-source libraries
• Qt: Graphical user interface and core library
• Boost: Serialization of the project
• OpenImageIO: Image reading/writing
• OpenColorIO: Color management
Alexandre Gauthier-Foichat 9/15
Performances
• Multi-threaded:
Alexandre Gauthier-Foichat 10/15
Performances
• Multi-threaded:
−→ A main-thread handling user events and OpenGL
rendering
Alexandre Gauthier-Foichat 10/15
Performances
• Multi-threaded:
−→ A main-thread handling user events and OpenGL
rendering
−→ N render threads gathered in a pool
• Thread pool controlled by Natron
• Asynchronous tasks asked by the plug-ins
Alexandre Gauthier-Foichat 10/15
Demand driven
Alexandre Gauthier-Foichat 11/15
OpenFX support
• Very stable API for writing visual effects.
Alexandre Gauthier-Foichat 12/15
OpenFX support
• Very stable API for writing visual effects.
• Efficient: about 500 lines of code for a plug-in
Alexandre Gauthier-Foichat 12/15
OpenFX support
• Very stable API for writing visual effects.
• Efficient: about 500 lines of code for a plug-in
• Plug-ins can be GPU accelerated using external libraries
like OpenCL or CUDA
Alexandre Gauthier-Foichat 12/15
OpenFX current state
• Many plug-ins, but most of them are proprietary.
Alexandre Gauthier-Foichat 13/15
OpenFX current state
• Many plug-ins, but most of them are proprietary.
• About 80 are open-source: TuttleOFX
Alexandre Gauthier-Foichat 13/15
OpenFX current state
• Many plug-ins, but most of them are proprietary.
• About 80 are open-source: TuttleOFX
• We need more open-source visual effects plug-ins
Alexandre Gauthier-Foichat 13/15
Conclusion
• Natron is in beta stage now and it’s a good time to join us.
• We need people making packages for all linux distributions
• Non developers are welcome: bug reporting,feedback,
demo reels, tutorials, translation...
• Download at https://natron.inria.fr
• Mailing list: natron@inria.fr
Alexandre Gauthier-Foichat 14/15
Thank you
• Thanks for your time !
• Any questions ?
Alexandre Gauthier-Foichat 15/15

Natron lgm2014

  • 1.
    Alexandre Gauthier-Foichat LGM 2014 Leipzig,April 4th Alexandre Gauthier-Foichat 1/15
  • 2.
    Table of contents 1Introduction 1 The project 2 Why we do it 3 License 2 Architecture 1 Feature for v1 2 Performances 3 Demand driven 4 OpenFX support 5 OpenFX current state 3 Conclusion Alexandre Gauthier-Foichat 2/15
  • 3.
    The project • Hostedin a research team at INRIA • Open-source, cross-platform nodal compositing software • Video editing and image processing • Funded since October 2013 as a result of an open-source project contest Alexandre Gauthier-Foichat 3/15
  • 4.
    Compositing in short Imagebefore matting Road Signs Final image Alexandre Gauthier-Foichat 4/15
  • 5.
    Why we doit • Support OpenFX: standard to design visual effects plug-ins. Alexandre Gauthier-Foichat 5/15
  • 6.
    Why we doit • Support OpenFX: standard to design visual effects plug-ins. • No open-source graphical software supporting OpenFX Alexandre Gauthier-Foichat 5/15
  • 7.
    Why we doit • Support OpenFX: standard to design visual effects plug-ins. • No open-source graphical software supporting OpenFX • But used by many proprietary applications: Nuke,Scratch, Da Vinci resolve... Alexandre Gauthier-Foichat 5/15
  • 8.
    Why we doit • Support OpenFX: standard to design visual effects plug-ins. • No open-source graphical software supporting OpenFX • But used by many proprietary applications: Nuke,Scratch, Da Vinci resolve... • Natron first targets education and research domains Alexandre Gauthier-Foichat 5/15
  • 9.
    License • Most OpenFXplug-ins are commercial or released under BSD-style license. Alexandre Gauthier-Foichat 6/15
  • 10.
    License • Most OpenFXplug-ins are commercial or released under BSD-style license. • GPL programs cannot load non GPL plug-ins Alexandre Gauthier-Foichat 6/15
  • 11.
    License • Most OpenFXplug-ins are commercial or released under BSD-style license. • GPL programs cannot load non GPL plug-ins • This is probably why we don’t see many open-source softwares around OpenFX Alexandre Gauthier-Foichat 6/15
  • 12.
    License • Most OpenFXplug-ins are commercial or released under BSD-style license. • GPL programs cannot load non GPL plug-ins • This is probably why we don’t see many open-source softwares around OpenFX • Natron is under Mozilla Public License (GPL compatible) Alexandre Gauthier-Foichat 6/15
  • 13.
    Table of contents 1Introduction 1 The project 2 Why we do it 3 License 2 Architecture 1 Feature for v1 2 Performances 3 Demand driven 4 OpenFX support 5 OpenFX current state 3 Conclusion Alexandre Gauthier-Foichat 7/15
  • 14.
    Features for v1 •Implementation of a performant rendering engine Alexandre Gauthier-Foichat 8/15
  • 15.
    Features for v1 •Implementation of a performant rendering engine • Animation support Alexandre Gauthier-Foichat 8/15
  • 16.
    Features for v1 •Implementation of a performant rendering engine • Animation support • Support for OpenFX v1.3: Over 500 plug-ins available Alexandre Gauthier-Foichat 8/15
  • 17.
    Based on manyopen-source libraries • Qt: Graphical user interface and core library • Boost: Serialization of the project • OpenImageIO: Image reading/writing • OpenColorIO: Color management Alexandre Gauthier-Foichat 9/15
  • 18.
  • 19.
    Performances • Multi-threaded: −→ Amain-thread handling user events and OpenGL rendering Alexandre Gauthier-Foichat 10/15
  • 20.
    Performances • Multi-threaded: −→ Amain-thread handling user events and OpenGL rendering −→ N render threads gathered in a pool • Thread pool controlled by Natron • Asynchronous tasks asked by the plug-ins Alexandre Gauthier-Foichat 10/15
  • 21.
  • 22.
    OpenFX support • Verystable API for writing visual effects. Alexandre Gauthier-Foichat 12/15
  • 23.
    OpenFX support • Verystable API for writing visual effects. • Efficient: about 500 lines of code for a plug-in Alexandre Gauthier-Foichat 12/15
  • 24.
    OpenFX support • Verystable API for writing visual effects. • Efficient: about 500 lines of code for a plug-in • Plug-ins can be GPU accelerated using external libraries like OpenCL or CUDA Alexandre Gauthier-Foichat 12/15
  • 25.
    OpenFX current state •Many plug-ins, but most of them are proprietary. Alexandre Gauthier-Foichat 13/15
  • 26.
    OpenFX current state •Many plug-ins, but most of them are proprietary. • About 80 are open-source: TuttleOFX Alexandre Gauthier-Foichat 13/15
  • 27.
    OpenFX current state •Many plug-ins, but most of them are proprietary. • About 80 are open-source: TuttleOFX • We need more open-source visual effects plug-ins Alexandre Gauthier-Foichat 13/15
  • 28.
    Conclusion • Natron isin beta stage now and it’s a good time to join us. • We need people making packages for all linux distributions • Non developers are welcome: bug reporting,feedback, demo reels, tutorials, translation... • Download at https://natron.inria.fr • Mailing list: natron@inria.fr Alexandre Gauthier-Foichat 14/15
  • 29.
    Thank you • Thanksfor your time ! • Any questions ? Alexandre Gauthier-Foichat 15/15