The goal of this project is to allow the user to toggle many effects on a 3D scene, and to combine them to create new interesting effects.
# Build
mkdir cmake-build && cd cmake-build
cmake ../ -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release -j
# Run
./fx_factory
lib/: external librariesresources/:OBJmodelsshaders/:GLSLsource codesrc/:C++source code and headers
- GLAD (using OpenGL Loader-Generator): https://glad.dav1d.de
- GLFW3 (OpenGL window manager): https://github.com/glfw/glfw
- GLM (OpenGL mathematics): https://github.com/g-truc/glm
- Assimp (Asset import): https://github.com/assimp/assimp
- STB (Image loading): https://github.com/nothings/stb
Youtube video: https://youtu.be/0EzgnH4tP0o
Some examples:
![]() |
![]() |
|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
While the program is running, you can toggle the effects with your keyboard. This FX management will be simplified in the future with a cool interface.
Z,Q,S,D: movingSpace/Ctrl: going up/down1: Select the main object2: Select the background objectBackspace: Reset effects
0: Texture shifting9: Water style normals
Y: Texture movingU: Texture moving in a glitchy wayI: ColorizeO: RGB shiftingP: Edge colorizingG: ToonifyO: HorrorifyJ: Pixelize
The next effects are applied on the screen directly (using FBOs), not on the 3D models.
C: RGB ShiftingV: Patch glitchN: Old video effectM: Pixelize
←,→: Switch textures↑,↓: Combine effects









