Sunday, December 25, 2016

HDR vs LDR Image Based Lighting

During my work as Technical and lighting artist, I was asked by level art team: “why we can’t use LDR images as skyboxes, they are so fancy and handpainted, why not?”

Friday, August 5, 2016

Update for SP shaders

Re-writing some of the SP shaders to filtered importance sampling, looks promising:
Default PBR-metal-rough:

Iray reference render:

New filtered IS method:

Looks like that rough metals are the most affected.

Monday, May 9, 2016

Substance Painter Shader - Unreal Engine 4(update)

A little update : filtering(de-noise) should properly work with any env texture size now

Hey folks! I've just found an outstanding solution for a noise problem, the idea is to read mips for low-probability samples, it worked surprisingly well:

this method was used in Frostbyte 3 engine games later SW Battlefront and described in [Lagarde2014] and GPU Gems 3

Saturday, April 30, 2016

Writing Shaders for Substance Painter part 1


Hi, in this article I’ll try to explain to you how Substance Painter surface-lighting interaction works, what modifications I added to it and why I made them..

Friday, April 29, 2016

Substance Painter Shader - Unreal Engine 4

So back in a day I needed a shader for UE4, I gooled it and found nothing. So I wrote it by myself :)
I came up to some nasty surprises left for me by both Epic and Allegorithmic, but I'll write about that another time.

Download Shader

Link to Substance Share

Here is some comparison pictures:
Substance Painter

Saturday, March 26, 2016

Hemisphere based ray matched SSAO

Article is a bit outdated, with all that fancy compute shader-based aglorithms, but maybe
someone will find it usefull
Hemisphere based ray matched SSAO


SSAO is not a new method for solving the Global Illumination. The very first implementation of it was performed by Crytek in 2007. Still, SSAO has a lot of problems. In this work I have made an attempt to solve them.
     Figure 1. Typical game environment (16x6 IRAO)