GeeXLab
Current version: 0.45.1
>GeeXLab homepage

FurMark
Current version: 1.30.0
>FurMark homepage

GPU Caps Viewer
Current version: 1.55.0.0
>GPU Caps Viewer homepage

GPU Shark
Current version: 0.26.0.0
>GPU Shark homepage


Blogs
>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.4
>FluidMark homepage

TessMark
Current version: 0.3.0
>TessMark homepage

ShaderToyMark
Current version: 0.3.0
>ShaderToyMark homepage
>ShaderToyMark Scores

Demoniak3D
Current Version: 1.23.0
>Demoniak3D
>Download
>Libraries and Plugins
>Demos
>Online Help - Reference Guide
>Codes Samples
 
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



Misc
>Texture DataPack #1
>Asus Silent Knight CPU Cooler
Page generated in 0.0018701553344727 seconds.