-
Recent Posts
- How I use ChatGPT daily (scientist/coder perspective) January 22, 2024
- Praising hacking and low-tech solutions. ChatGPT wrote me a personal Javascript browser “plugin.” September 17, 2023
- I left Silicon Valley for NYC 2.5y ago – a retrospective September 4, 2023
- Gradient-descent optimized recursive filters for deconvolution / deblurring September 5, 2022
- Progressive image stippling and greedy blue noise importance sampling August 31, 2022
Categories
-
Recent Posts
- How I use ChatGPT daily (scientist/coder perspective) January 22, 2024
- Praising hacking and low-tech solutions. ChatGPT wrote me a personal Javascript browser “plugin.” September 17, 2023
- I left Silicon Valley for NYC 2.5y ago – a retrospective September 4, 2023
- Gradient-descent optimized recursive filters for deconvolution / deblurring September 5, 2022
- Progressive image stippling and greedy blue noise importance sampling August 31, 2022
Archives
- January 2024 (1)
- September 2023 (2)
- September 2022 (1)
- August 2022 (1)
- May 2022 (1)
- March 2022 (2)
- February 2022 (2)
- January 2022 (2)
- November 2021 (1)
- October 2021 (2)
- July 2021 (2)
- June 2021 (1)
- May 2021 (1)
- April 2021 (1)
- February 2021 (2)
- January 2021 (2)
- December 2020 (1)
- August 2020 (1)
- 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 (4)
- February 2014 (2)
- January 2014 (3)
Categories
Category Archives: Code / Graphics
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 dynamic range, graphics, graphics programming, HDR, mathematica, mathematics, postprocessing, tonemapping, visuals
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 exposure, film, God of War, graphics, graphics programming, photography, photos, postprocessing, tonemapping
19 Comments
Technical debt… or technical weight/burden?
Introduction The 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 a few months ago. We started to talk about a sophisticated code algorithm – … Continue reading
Posted in Code / Graphics
Tagged algorithms, architecture, code design, programming, psychology
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 assassin's creed, color management, graphics, graphics programming, IBL, ideas, image based lighting, panoramas, PBR, photogrammetry, photography, physically-based shading, srgb, the witcher 2: assassins of kings, white balance, witcher 2
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
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
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 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 1080p, algorithms, bokeh, depth of field, far cry 4, graphics, graphics programming, photography, PlayStation 4, postprocessing, programming, tonemapping, Xbox One
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 .NET, C#, framework, graphics, graphics programming, postprocessing, programming, tools
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
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
New debugging options in CSharpRenderer framework
Hi, minor update to my C#/.NET graphics rendering framework / playground got just submitted to GitHub. I implemented following new features: Surface debugging snapshots One of commentators asked me how to easily display for debug SSAO buffer – I had no easy … Continue reading
Posted in Code / Graphics
Tagged .NET, C#, framework, github, graphics, graphics programming
4 Comments
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 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 – 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 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
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 debugging, editor, pipeline, programming, the witcher 2: assassins of kings, tools, witcher 2
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 assassin's creed, graphics, graphics programming, PlayStation 4, postprocessing, programming, Xbox One
2 Comments
You must be logged in to post a comment.