FFGL or Free Frame GL is a video plugin format used to create video sources and effects using the OpenGL graphics API. FFGL enables VJs to create amazing visuals by writing or converting OpenGL shaders.
This series is a step by step guide for FFGL developers to create everything from the most basic plugin to advanced audio-reactive and generative FFGL sources and effects.
If you are a VJ, this series is not a requirement for you to create great visuals. Simply knowing how to utilize FFGL plugins is enough to produce high quality live content.
On this page we will go through writing your very first FFGL plugin. While this tutorial uses Visual Studio and Windows 10, the concepts are exactly the same for other platforms like MAC.
For this tutorial, you will need:
- PC running Windows 10
- Microsoft Visual Studio 2017 or newer
- FFGL 2.2 SDK or newer
Microsoft Visual Studio
Another prerequisite for this series is a basic understanding of Object-Oriented Programming ideally in C++; simple example code is provided but a good understanding of programming concepts will significantly speed up the learning process.
You can download the latest version of Microsoft Visual Studio here. Visual Studio Community is more than sufficient to get started.
In the installer, switch to the Individual components tag and pick the following components:
- Code tools
- Static analysis tools
- Compilers, build tools, and runtimes
- C++/CLI support
- Standard Library Modules
- VC++ 2017 v141 toolset (x86,x64) or newer
- Visual C++ runtime for UWP
- Visual C++ tools for CMake
- Windows XP support for C++
- Debugging and testing
- C++ profiling tools
- Just-In-Time debugger
- Development activities
- Visual Studio C++ core features
- SDKs, libraries, and frameworks
- Visual C++ ATL support
- Visual Studio SDK
- Window 10 SDK (newest version available)
- Windows Universal C Runtime
To make sure that all of the environment variable are set up correctly, run the VSDevCmd.bat and VSMSBuildCmd.bat scripts located in C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools.
For more advanced developers, revision control using git is highly recommended.
Visual studio has built-in tools for using git as shown here.
Open FFGLPlugins.sln located in ffgl-master/build/windows. Take some time to get familiar with Visual Studio and the FFGL source code. In the next section we will create a basic FFGL plugin template.