Nowadays, the general-purpose computing on graphics processing units (GPGPU) is more and more common. GPGPU tools are available, that make compute-intensive simulations easier to implement on the graphics card, in order to speed them up. We can even work with C++-like programming language. The global illumination algorithms, which can produce wonderful photorealistic images, are very well fit to this highly paralell environment. The base of these algoritms is the Monte-Carlo method, which can handle the error of the multi-dimensional integrals of the rendering process. This error causes initial dot-noise in the image. This noise can be reduced by noise-reduction filters. The problem of these filters is that they cannot determine what is the valid detail and what is the unwanted noise. The Adaptive Manifold Fsilter adresses this problem, by enabling joint bilateral filters to run in real-time. These joint bilateral filters uses extra information to calculate filter weights. If the extra information is geomteric data, one can effectively filter the indirect illumination.