/ofxAVPostProcessing

local addon of Post Processing effects to use on divers elements during post processing phase

Primary LanguageC++MIT LicenseMIT

ofxAVPostProcessing

Repository to create a local addon for postProcessing visual effects using a single buffer pass.

addons.make should look like this :

../local_addons/ofxAVPostProcessing


.

.


Description

Components

The effects shaders are :

//ofxPostProcessing
bloom (not there yet)
godrays

//dotFrag
Delay (removed but was in this [commit](https://github.com/pierrextardif/ofxAVPostProcessing/commit/d410ddca2bef8917a3ba58ce497674ad7c87da29) ( too heavy to use because of the 5 fbos))
HSB
MirrorAxis ( with duplicated "matter" mirrored content at the back)
Turbolence
Twist
Monochrome

//personal shaders (ofxKsmrFragmentFx, THREE.JS & custom)
Invert
Glitch
Vertical noise
noise
edgeOnTop
fringe
halftone
hole

Structure

The addon works with ofxGUI, that's the only dependency. It has been added as a local addon in order to get the exact same version.

The structure of the addon uses only one big shader, so no buffer swap. I believe this is more effective, as I have tried to get the buffer swap to work, but it was giving me artefacts in the middle of the screen when using more than 8 shaders...

So the mainShader is structured with 3 main type of openGL functions :

  • UV coordinates modifications
  • individual UV coordinates offset per channel ( like Glitch or fringe)
  • color change

I created an rgbFromOffset function which samples a texture and returns the color depending on the offset of each channel.

The rest is classic.

Getting Started

Add this to your local addon folder.
Try the example.

Author

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Acknowledgments