Tag Archives: bokeh

Using JAX, numpy, and optimization techniques to improve separable image filters

In today’s blog post I will look at two topics: how to use JAX (“hyped” new Python ML / autodifferentiation library), and a basic application that is follow-up to my previous blog post on using SVD for low-rank approximations and … Continue reading

Posted in Code / Graphics | Tagged , , , , , , , , , , | 5 Comments

Separate your filters! Separability, SVD and low-rank approximation of 2D image processing filters

In this blog post, I explore separable convolutional image filters: how can we check if a 2D filter is separable, and how to compute separable approximations to any arbitrary 2D filter represented in a numerical / matrix form using SVD. Continue reading

Posted in Code / Graphics | Tagged , , , , , , , , , , , | 9 Comments

Separable disk-like depth of field

This is a short note accompanying shadertoy: https://www.shadertoy.com/view/lsBBWy . It is direct implementation of “Circularly symmetric convolution and lens blur” by Olli Niemitalo (no innovation on my side, just a toy implementation) and got inspired by Kleber Garcia’s Siggraph 2017 presentation “Circular … Continue reading

Posted in Code / Graphics | Tagged , , , , , , , , , , | 2 Comments

Anamorphic lens flares and visual effects

Introduction There are no visual effects that are more controversial than various lens and sensor effects. Lens flares, bloom, dirty lens, chromatic aberrations… All of those have their lovers and haters. Couple years ago many games used cheap pseudo HDR effect … Continue reading

Posted in Code / Graphics | Tagged , , , , , , , , , , , , , , , | 16 Comments

Bokeh depth of field – going insane! part 1

Recently I was working on console version depth of field suitable for gameplay – so simple, high quality effect, running with a decent performance on all target platforms and not eating big percent of budget. There are tons of publications about … Continue reading

Posted in Code / Graphics | Tagged , , , , , , , , | 22 Comments