Film Grain Rendering

Published in Computer Graphics Forum

A Stochastic Film Grain Model for Resolution-Independent Rendering

Laboratoire MAP5 (UMR CNRS 8145), Université Paris Descartes

Result of our film grain rendering on a modern image, which shows that our film grain method can be used for personal artistic purposes to give photographs a certain look and feel.


The realistic synthesis and rendering of film grain is a crucial goal for many amateur and professional photographers and film-makers whose artistic works require the authentic feel of analog photography. The objective of this work is to propose an algorithm that reproduces the visual aspect of film grain texture on any digital image. Previous approaches to this problem either propose unrealistic models or simply blend scanned images of film grain with the digital image, in which case the result is inevitably limited by the quality and resolution of the initial scan. In this work, we introduce a stochastic model to approximate the physical reality of film grain, and propose a resolution-free rendering algorithm to simulate realistic film grain for any digital input image. By varying the parameters of this model, we can achieve a wide range of grain types. We demonstrate this by comparing our results with film grain examples from dedicated software, and show that our rendering results closely resemble these real film emulsions. In addition to realistic grain rendering, our resolution-free algorithm allows for any desired zoom factor, even down to the scale of the microscopic grains themselves.



  • Alasdair Newson, Julie Delon, Bruno Galerne, A Stochastic Film Grain Model for Resolution-Independent Rendering, Comput. Graph. Forum36(8): 684-699 (2017)
  • Alasdair Newson, Noura Faraj, Bruno Galerne, Julie Delon, Realistic Film Grain Rendering. IPOL Journal 7: 165-183 (2017)


We have two versions of the source code, with GPU and without GPU.

With GPU

FIlm grain rendering code (with GPU)

Without GPU (this link contains an online demo and the source code) :

Film grain rendering code (without GPU, IPOL implémentation)

If you wish to use the previous version of the code, please cite our paper :

Realistic Film Grain Rendering

A. Newson, N. Faraj, B. Galerne, J. Delon

IPOL Journal 7: 165-183 (2017)

Some sildes


Film grain rendering examples