Author Archives: bartwronski

Checkerboard rendering, rotated anti-aliasing and grid frequencies

This post is inspired by three interesting statements or questions that I heard and are interconnected by non-obvious theory: First was regarding so called checkerboard rendering (example1 example2) – what is advantage of using it? After all it’s the same as … Continue reading

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

Tech and scientific writing – graphics, diagram and graph creation tools

Few days ago, I asked a question on twitter: https://twitter.com/BartWronsk/status/919618905319997440 “What is industry/academic standard for diagrams in tech writing? PowerPoint/GoogleDocs diagrams? Dedicated tool like Visio/Dia? Procedural? I usually use first, but far from satisfied…For proc tried SVG,JS,Graphviz,even Mathematica, but results … Continue reading

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

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 , , , , , , , , , , , , | 7 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 , , , , , , , | 7 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

Image dynamic range

Intro This post is a second part of my mini-series about dynamic range in games. In this part I would like to talk a bit about dynamic range, contrast/gamma and viewing conditions. You can find the other post in the series here and … Continue reading

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

Localized tonemapping – is global exposure and global tonemapping operator enough for video games?

In this blog post, I wanted to address something that I was thinking about for many years – since starting working on rendering in video games and with HDR workflows and having experience with various photographic techniques. For the title … Continue reading

Posted in Code / Graphics, Travel / Photography | Tagged , , , , , , , , | 17 Comments

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

White balance and physically based rendering pipelines. Part 2 – practical problems.

White balance and lighting conditions After this long introduction (be sure to check part one if you haven’t!), we can finally go to the problem that started whole idea for this post (as in my opinion it is unsolved problem – … Continue reading

Posted in Code / Graphics, Travel / Photography | Tagged , , , , , , , , , , , , , , , | 7 Comments

White balance and physically based rendering pipelines. Part 1 – introduction.

This is part one of the whole article. Part two is here. In this two posts (started as one, but I had to split it to make it more… digestible) I’m going to talk a bit about the white balance. First … Continue reading

Posted in Code / Graphics, Travel / Photography | Tagged , , , , , , , , , , | 3 Comments

Fixing screen-space deferred decals

Screen-space 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

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

Processing scanned/DSLR photos of film negatives in Lightroom

The topic I wanted to cover in this post is non-destructive workflow for “developing” photographed or scanned negatives – in this case B&W film. Why even bother about film? Because I still love analog photos as a hobby. 🙂 I wrote … Continue reading

Posted in Travel / Photography | Tagged , , , , , , , , , , | 5 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