
Recent Posts
 Dimensionality reduction for image and texture set compression May 21, 2020
 “Optimizing” blue noise dithering – backpropagation through Fourier transform and sorting April 26, 2020
 Bilinear texture filtering – artifacts, alternatives, and frequency domain analysis April 14, 2020
 Using JAX, numpy, and optimization techniques to improve separable image filters March 15, 2020
 Separate your filters! Separability, SVD and lowrank approximation of 2D image processing filters February 3, 2020
Archives
 May 2020 (1)
 April 2020 (2)
 March 2020 (1)
 February 2020 (1)
 January 2020 (1)
 September 2019 (1)
 August 2019 (1)
 May 2018 (1)
 October 2017 (1)
 August 2017 (1)
 April 2017 (2)
 October 2016 (4)
 September 2016 (2)
 August 2016 (1)
 June 2016 (1)
 October 2015 (2)
 March 2015 (2)
 February 2015 (1)
 December 2014 (1)
 October 2014 (1)
 September 2014 (4)
 August 2014 (4)
 July 2014 (2)
 June 2014 (2)
 May 2014 (2)
 April 2014 (3)
 March 2014 (5)
 February 2014 (2)
 January 2014 (3)
Categories
Tag Archives: algorithms
Separate your filters! Separability, SVD and lowrank 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 algorithms, approximation, blur, bokeh, depth of field, graphics, image processing, linear algebra, numpy, optimizations, postprocessing, python
8 Comments
Technical debt… or technical weight?
Introduction Whole idea for this post came from a very inspiring conversation with my friends and excolleagues from Ubisoft that we had over a dinner few months ago. We started to talk about some sophisticated code algorithm – an algorithm … Continue reading
Posted in Code / Graphics
Tagged algorithms, architecture, code design, programming, psychology
2 Comments
Fixing screenspace deferred decals
Screenspace deferred decals are a very popular technique. There were so many presentations and blog posts about it that I will just list couple of them (just a first google search results page to be honest…) in no particular order: … Continue reading
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 algorithms, anamorphic, bokeh, C#, cinematography, depth of field, film, flares, graphics, graphics programming, history, lens, movies, photography, postprocessing, programming
16 Comments
Designing a nextgeneration posteffects pipeline
Hey, it’s been a while since my last post. Today I will focus on topic of posteffects. Specifically, I wanted to talk about nextgen post process pipeline and redesign I worked on while being a part of Far Cry 4 rendering team. … Continue reading
Posted in Code / Graphics
Tagged 1080p, algorithms, far cry 4, graphics, graphics programming, photography, PlayStation 4, postprocessing, programming, Xbox One
6 Comments
Review: “Multithreading for Visual Effects”, CRC Press 2014
Today I wrote a short review about a book I bought and read recently – “Multithreading for Visual Effects” published by CRC Press 2014 and including articles by Martin Watt, Erwin Coumans, George ElKoura, Ronald Henderson, Manuel Kraemer, Jeff Lait, James Reinders. … Continue reading
Python as scientific toolbox – 8 months later
I started this blog with a simple post about my attempts to find free Mathematica replacement tool for general scientific computing with focus on graphics. At that time I recommended scientific Python and WinPython environment. Many months have passed, I … Continue reading
Posted in Code / Graphics
Tagged algorithms, Anaconda, mathematica, python, sublime text, tools, winpython
1 Comment
Updated Poissonlike generator with GUI and more
Just a super short note: I updated my simple renderingoriented Poissonlike pattern generator with: Very simple GUI made in PyQt to make experimenting easier. Option to do rotating disk (with minimizing rotated point distance) for things like Poisson bokeh / … Continue reading
Posted in Code / Graphics
Tagged algorithms, Anaconda, antialiasing, graphics programming, mathematica, poisson, programming, pyqt, python, stochastic
Leave a comment
Major C#/.NET graphics framework update + volumetric fog code!
As I already promised too many times, here comes major CSharpRenderer framework update! As always, all code available on GitHub. Note that the goal is still the same – not to write most beautiful or fast code, but to provide a … Continue reading
Posted in Code / Graphics
Tagged .NET, algorithms, C#, graphics, graphics programming, postprocessing, supersampling, temporal, temporal supersampling
18 Comments
Poisson disk/square sampling generator for rendering
I have just submitted onto GitHub small new script – Poissonlike distribution sampling generator suited for various typical rendering scenarios. Unlike other small generators available it supports many sampling patterns – disk, disk with a central tap, square, repeating grid. It … Continue reading
Posted in Code / Graphics
Tagged algorithms, Anaconda, programming, python, stochastic, supersampling, temporal, tools, winpython
Leave a comment
Hair rendering trick(s)
I didn’t really plan to write this post as I’m quite busy preparing for Siggraph and enjoying awesome Montreal summer, but after 3 similar discussion with friends developers I realized that the simple hair rendering trick I used during the … Continue reading
C#/.NET graphics framework on GitHub + updates
As I promised I posted my C#/.NET graphics framework (more about it and motivation behind it here) on GitHub: This is my first GitHub submit ever and my first experience with Git, so there is possibility I didn’t do something properly … Continue reading
Posted in Code / Graphics
Tagged .NET, algorithms, antialiasing, C#, graphics, graphics programming
Leave a comment
Temporal supersampling and antialiasing
Aliasing problem Before I address temporal supersampling, just a quick reminder on what aliasing is. Aliasing is a problem that is very well defined in signal theory. According to the general sampling theorem we need to have our signal spectrum … Continue reading
Compare it!
Cpt. Obvious I have some mixed feelings about the blog post I’m about to write. On the one hand, it is something obvious and rudimentary in graphics workflows, lots of graphics blogs use such techniques, but on the other hand, … Continue reading
The future of screenspace reflections
Introduction The technique was first mentioned by Crytek among some of their improvements (like screenspace raytraced shadows) in their DirectX 11 game update for Crysis 2 [1] and then was mentioned in couple of their presentations, articles and talks. In … Continue reading
Posted in Code / Graphics
Tagged algorithms, assassin's creed, graphics, postprocessing, programming, raymarching, raytracing
5 Comments