OpenGL ES 3 – Image Postprocessing – Blur

Postprocessing with OpenGL ES 3.

Camera can be moved around in the scene and the orientation of the cube object in the scene can be adjusted based on the camera’s position and orientation.
Multisample Anti-Aliasing(MSAA) is utilized and can be turned on and off.
Texturing on the cube object is done using a static cube map texture created by using six images.

A blur effect is created by first render the scene into texture in the first pass then render a full-screen quad and use the texture generated from the first pass on the full-screen quad with blur shader in the second pass.
This second pass does not have to be rendered to the screen, instead, it can be rendered into texture again for use in more postprocessing steps of the image rendered.

The amount of blur can be adjusted via slider. More blur will result in more render to texture pass using blur shader in one frame.

Cube map texture and texture generated via render to texture are filtered using trilinear filtering(mipmaps are generated for textures.) and anisotropic filtering.

The blur technique implemented is actually full-screen blur even though the scene has only one object in it.

Platform: iOS
Programming Language: Objective-C, C/C++, GLSL
Device: iPad Air

Sonic the hedgehog and its characters are properties of Sega Corp.