Current version: 0.16.x
»GeeXLab homepage

Current version: 1.19.0
»FurMark homepage
»FurMark 1.9.x Submissions

GPU Caps Viewer
Current version:
»GPU Caps Viewer homepage
»GPU DB Submissions

GPU Shark
Current version:
»GPU Shark homepage

»JeGX's HackLab

Geeks3D's Articles
»GPU Memory Speed Demystified

»Multi-Threading Programming Resources

»GeForce and Radeon OpenCL Overview

»How to Get your Multi-core CPU Busy at 100%

»How To Make a VGA Dummy Plug

»Night Vision Post Processing Filter

PhysX FluidMark
Current version: 1.5.2
»FluidMark homepage
»FluidMark 1.4.x Submissions

Current version: 0.3.0
»TessMark homepage

Current version: 0.3.0
»ShaderToyMark homepage
»ShaderToyMark Scores

Current Version: 1.23.0
»Libraries and Plugins
»Online Help - Reference Guide
»Codes Samples

3D Graphics Search Engine:

The Geeks Of 3D

Image Filtering with GLSL - Convolution Kernels

By Jérôme 'JeGX' Guinot - jegx [at] ozone3d [dot] net

Initial draft: December 8, 2005
Last update: January 8, 2006

Translated from french by Samir Fitouri

[ Index ]

Introduction | Page 2 | Page 3 | Page 4 | Page 5 | Page 6 | Page 7

»Next Page

Stumble it! | | | |

1 - Introduction

2 - Gaussian Filter

3 - Mean Filter

4 - Laplacian Filter

5 - Emboss Filter

6 - Sharpness Filter

7 - Further Reading

8 - Downloads

1 - Introduction

In this tutorial, we will see how to implement in GLSL (OpenGL Shading Language) the filters usually used in image processing: blur (Gaussian Filter), de-dusting (Mean Filter), edegs detection (Laplacian Filter), emboss and sharpness. All these filters are found in all image processing softwares (Photoshop, Paintshop Pro...).

OpenGL Logo

The convolution is an operation in which the final pixel is the weighted sum of the neighboring pixels. This convolution operation is based on a matrix which gives some weight to each one of the neighbor pixels. This matrix is called convolution kernel. This matrix is a square 3x3, 5x5 or 7x7 dimension matrix (or more depending on filters). In this tutorial, we will use 3 dimension kernels.

The convolution kernel is also called linear filter.

The various filters are implemented in GLSL, which is the shading language supported by Demoniak3D. Do not forget to download the latest version of Demoniak3D in order to be able to run each project. The projects are downloadable at the end of this page.

The image which will be used to illustrate the operation of the various filters is the following one:

Fig.1 - Basic image.

And now, let us see the filters codes.

[ Index ]

Introduction | Page 2 | Page 3 | Page 4 | Page 5 | Page 6 | Page 7

»Next Page

GeeXLab demos

GLSL - Mesh exploder

PhysX 3 cloth demo

Normal visualizer with GS

Compute Shaders test on Radeon

Raymarching in GLSL

Geeks3D latest news

Geeks3D forum news

»Texture DataPack #1
»Asus Silent Knight CPU Cooler
Page generated in 0.0073609352111816 seconds.