Code Monkey home page Code Monkey logo

experiments's Introduction

Experiments

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.

Requirements :

Visual Studio (Tested only on Visual Studio 2019)

Commands :

### 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.

List of experiments

This is a simple implementation of voxel cone tracing.

Here's a little write up about that technique and its implementation.

VXGI VXGI

This is an incomplete implementation of Light Propagation Volumes.

Here's a little write up about the implementation.

LPV

A little tool to view spherical harmonics that I built while reading about them.

SH

An implementation of bitonic sort using compute shaders, with a little visualization.

Write up

BitonicSort

Implementation of N-bodies simulation.

Here's a little write up about it

NBodies NBodies NBodies

Implementation of 1D and 2D fourier transform and inverse fast fourier transform.

Write up

FFT

This shows a signal (Top plot) that gets transformed in frequency space (Middle plot), and reconstructed using inverse fourier transform (Bottom Plot)

FFT

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

OceanFFT OceanFFT

This is an implementation of Pic-Flip fluid simulation

Here's a little write up about the implementation

Image 1 Image 1
Image 1 Image 1
Image 1 Image 1

This is an implementation of deferred decals.

Write up

Here's a little write up about the implementation

Decals

This is a simple path tracer, based on Demofox's series on path tracing.

PathTrace

This is an implementation of Clustered and Forward+ rendering, with performance comparisons with forward and deferred.

Write up

Tiled

Simple implementation of SSAO, based on LearnOpenGL's

Write up

SSAO

Simple implementation of screen space reflections, without fallback for out of screen reflections.

Write up

SSR

Some simple post processing effects :

Chromatic Aberation

CA

Depth Of Field

OIT

CRT Effects

OIT

God Rays

OIT

Vignette

OIT

Sharpen Filter

OIT

Implementation of order independant transparency, based on LearnOpenGL's

Not sure if it's fully working...

Write up

OIT

Implementation of cascaded shadow mapping, based on LearnOpenGL's

Write up

Implementation of Shell Fur algorithm.

ShellFur

Implementation of Sparse Virtual Textures. It's almost working, just a problem to solve on the edges of the sub textures.

Write up

SVT

Implementation of Screen Space Directional Occlusion.

I don't know if it's really working, getting odd results..

SSDO

Implementation of Subdivision Surface algorithm.

Write up

Image 1 Image 1
Image 1 Image 1
Image 1

Implementation of sparse voxel octree construction and rendering on the GPU.

RSM

Implementation of Kuwahara Filter for images

Write up

Image 1 Image 1 Image 1

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.

Write up

RSM

experiments's People

Contributors

jacquespillet avatar

Stargazers

 avatar 白★能盛 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.