This repo contains some experiments I've been doing with openGL, trying to implement various computer graphics techniques.
Not all the experiments are successfull, some are still WIP, I may come back to them one day.
Visual Studio (Tested only on Visual Studio 2019)
### Clone the repo and checkout to the latest branch
git clone --recursive https://github.com/jacquespillet/Experiments.git
cd Experiments
git checkout origin/master
### Generate the solution
mkdir build
cd build
cmake ../
### Build
cd ..
BuildDebug.bat / BuildRelease.bat
First build may take a while because it's going to build all the dependencies with the project.
This is a simple implementation of voxel cone tracing.
Here's a little write up about that technique and its implementation.
This is an incomplete implementation of Light Propagation Volumes.
Here's a little write up about the implementation.
A little tool to view spherical harmonics that I built while reading about them.
An implementation of bitonic sort using compute shaders, with a little visualization.
Implementation of N-bodies simulation.
Here's a little write up about it
Implementation of 1D and 2D fourier transform and inverse fast fourier transform.
This shows a signal (Top plot) that gets transformed in frequency space (Middle plot), and reconstructed using inverse fourier transform (Bottom Plot)
This shows an image input with its Fourier transform on the right, and the reconstructed image at the bottom.
This is an implementation of an ocean simulation with fourier transform, based on this paper
Here is a little write up about the implementation
This is an implementation of Pic-Flip fluid simulation
Here's a little write up about the implementation
This is an implementation of deferred decals.
Here's a little write up about the implementation
This is a simple path tracer, based on Demofox's series on path tracing.
This is an implementation of Clustered and Forward+ rendering, with performance comparisons with forward and deferred.
Simple implementation of SSAO, based on LearnOpenGL's
Simple implementation of screen space reflections, without fallback for out of screen reflections.
Some simple post processing effects :
Chromatic Aberation
Depth Of Field
CRT Effects
God Rays
Vignette
Sharpen Filter
Implementation of order independant transparency, based on LearnOpenGL's
Not sure if it's fully working...
Implementation of cascaded shadow mapping, based on LearnOpenGL's
Implementation of Shell Fur algorithm.
Implementation of Sparse Virtual Textures. It's almost working, just a problem to solve on the edges of the sub textures.
Implementation of Screen Space Directional Occlusion.
I don't know if it's really working, getting odd results..
Implementation of Subdivision Surface algorithm.
Implementation of sparse voxel octree construction and rendering on the GPU.
Implementation of Kuwahara Filter for images
This is a failed attempt at implementing this technique. I'm not sure why it's not working, I may try to fix it later.