Tag Archives: programming

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

Analyze your own activity data using Google Takeout – music listening stats example

The goal of this post is to show how to download our own data stored and used by internet services to generate personalized stats / charts like below and will show step-by-step how to do it using colab, Python, pandas, … Continue reading

Posted in Code / Graphics | Tagged , , , , , , | Leave a comment

How (not) to test graphics algorithms

Intro Siggraph 2019 is sadly over, but as always I came back super inspired and grateful for meeting many friends.  Conferences are mostly not about seeing the presentations – but about all the interesting and inspiring discussions, and one of … Continue reading

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

Cull that cone! Improved cone/spotlight visibility tests for tiled and clustered lighting

In this blog post, I will present some common spotlight culling techniques and propose one small improvement that is able to correct results of cheap, tiled / clustered culling on the CPU/GPU with almost negligible ALU cost. If you know … Continue reading

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

Small float formats – R11G11B10F precision

While this post is not yet dithering related, it is in a way a part of my series about dithering. You can check index of all parts here or check the previous part. I will talk here about use of … Continue reading

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

Dithering part three – real world 2D quantization dithering

In previous two parts of this blog post mini-series I described basic uses mentioned blue noise definition, referenced/presented 2 techniques of generating blue noise and one of many general purpose high-frequency low-discrepancy sampling sequences. In this post, we will look … Continue reading

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

Dithering part two – golden ratio sequence, blue noise and highpass-and-remap

In previous part of the mini-series I covered dithering definition and how dithering changes error characteristics of simple 1D quantization and functions. In this part I will try to look at what blue noise is, but first wanted to have a … Continue reading

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

Dithering part one – simple quantization

Introduction First part of this mini-series will focus on more theoretical side of dithering -some history and applying it for 1D signals and to quantization. I will try to do some frequency analysis of errors of quantization and how dithering … Continue reading

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

Dithering in games – mini series

This an opening post of mini blog post series about various uses of dithering for quantization and sampling in video games. It is something most of us use intuitively in every day work, so wanted to write down some of … Continue reading

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

Short names are short

Intro This blog post is a counter-argument and response to a post by Bob Nystrom that got very popular few months ago and was often re-shared. I disagree so much that I thought it’s worth sharing my opinion on this topic. … Continue reading

Posted in Code / Graphics | Tagged , , , , , | 1 Comment

Technical debt… or technical weight?

Introduction Whole idea for this post came from a very inspiring conversation with my friends and ex-colleagues 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 , , , , | 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

Designing a next-generation post-effects pipeline

Hey, it’s been a while since my last post. Today I will focus on topic of post-effects. Specifically, I wanted to talk about next-gen 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 , , , , , , , , , | 6 Comments

CSharpRenderer Framework update

In couple days I’m saying goodbye to my big desktop PC for several next weeks (relocation), so time to commit some stuff to my CSharpRenderer GitHub repository that was waiting for it for way too long. 🙂 Startup time optimizations … Continue reading

Posted in Code / Graphics | Tagged , , , , , , , | 15 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

Posted in Code / Graphics | Tagged , , , | Leave a comment

Updated Poisson-like generator with GUI and more

Just a super short note: I updated my simple rendering-oriented Poisson-like 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 , , , , , , , , , | Leave a comment

Poisson disk/square sampling generator for rendering

I have just submitted onto GitHub small new script – Poisson-like 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 , , , , , , , , | Leave a comment

Runtime editor-console connection in The Witcher 2

During Digital Dragons and tons of inspiring talks and discussions I’ve been asked by one Polish game developer (he and his team are doing quite cool early-access Steam economy/strategy game about space exploration programmes that you can check out here) to … Continue reading

Posted in Code / Graphics | Tagged , , , , , , | Leave a comment

Digital Dragons 2014 slides

This Friday I gave a talk on Digital Dragons 2014. It was a presentation with tons of new, unpublished content and details about our: Global Illumination solution – full description of baking process, storing data in 2D textures and runtime application Temporal … Continue reading

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

C#/.NET graphics framework

In my previous post about bokeh I promised that I will write a bit more about my simple C# graphics framework I use at home for prototyping various DX11 graphics effects. You can download its early version with demonstration of bokeh … Continue reading

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