real-time 3D effect composing
Impulz is an OpenGL ES based real-time 3D effect composing engine for Mobile and Desktop. Our goal was for users to create spectacular effects on videos without post editing. Thanks to our heavily optimized graphics engine, the processed imagery can be displayed and streamed onto popular media platforms in real time.
During the design of the composing engine we determined the following main viewpoints:
easy graphic content production
To make Impulz composing engine widely applicable, we tried our best to make the production and design of visual effects and scenes the easiest we could for motion designers while being compatible with the current leading creation tools. Keeping this in mind we chose the Adobe After Effects visual effects and compositing application from which with our in house developed Project Exporter Script, we can export and translate the composed scenes into a format that Implulz application can interpret.
Our goal was real time rendering – on desktop and middle/high end mobiles – so during design and development we prioritized cost effective algorithms and optimization techniques. The most notable of these is that our engine is capable of combining our separate effects into one summarized renderpass ( GLSL Shader ) that makes effective live rendering on mobile viable.
flexible effect composition and keyframing
One of our highest priority in effect composition was varied imagery, meaning the effects can be combined, they can manipulate and modify each others behaviour. The engine supports many keyframe types and effects from After Effects, furthermore custom made effects can be imported easily.
fast loading time
To make user experience more enjoyable, we placed great emphasis on the engine loading time, optimizing it with our solutions ( e.g.: advanced loading of the template file, optimized render plan ). Using these techniques we made live rendering possible with a short loading time ( less then 1 sec ).
To make varied imagery even more viable, we made it possible for external sources like music beats to change imagery manipulating the custom properties of different effects, or even trigger some hidden scenes. These sources include peripherals on mobiles like: gyroscope, accelerometer, compass, or even a standard MIDI controller on a desktop.
Our real time engine was developed in an interactive fashion. First we created a prototype as a desktop application with a starting , smaller effect set and more primitive After Effect Exporter Script. We extended and optimized this starting application by adding more and more complex effects. After we were satisfied with our effect set , we started development our mobile versions where we applied mobile specific optimization techniques.
We must highlight that the engines codebase was shared on all platforms during all this time, so as it got more refined, all platforms got more and more advanced.
To show the exceptional performance of Impulz engine, we made an android application with generation Z’s popular social media platform: TikTok, in mind. The main idea is that the user chooses a sound file, a rendering template, starts the recording and the video gets composed with the selected effect, without the need of post editing.
Our mobile application is served by a Spring Boot web application, that can provide authentication, push notification or file downloads for new templates. Our backend is supported by a MySQL Database that persists all important data.
Mobile applications are available at:
backend and mobile apps
#Open GL ES
We proudly present the results of the fruitful association and partnership with SplendidStory Ltd.