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/
:OBJ
modelsshaders/
:GLSL
source 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