Author Archives: Krzysztof Narkowicz

ACES Filmic Tone Mapping Curve

Careful mapping of HDR values to LDR is an important part of a modern game rendering pipeline. One of the goals of our new renderer was to replace Reinhard‘s tone mapping curve with some kind of a filmic tone mapping … Continue reading

Posted in Graphics, Lighting | 37 Comments

Analytical DFG Term for IBL

Image-based lighting is an important part of a physically based rendering. Unfortunately straightforward IBL implementation for more complicated lighting models than Phong requires a huge lookup table and isn’t practical for real time. Current state of the art approach is … Continue reading

Posted in Graphics, Lighting | 13 Comments

Lightmapping in Anomaly 2 mobile

In 2013 Anomaly 2 mobile version (iOS/Android/Blackberry) by a small indie studio 11 Bit Studios was released. It was an interesting project as we needed to run heavy content from PC version on much weaker mobile platforms. I’d like to … Continue reading

Posted in Graphics, Lighting | 3 Comments

Digital Dragons 2014 Programming Track

Digital Dragons is a game industry conference held in Kraków (Poland). This year’s programming track was outstanding and mainly focused on graphics. Allpresentations are really worth reading. Low level optimization for AMD GCN GPU architecture Michał Drobot @MichalDrobot Ubisoft Montreal slides video … Continue reading

Posted in Conference | 4 Comments

Octahedron normal vector encoding

Many rendering techniques benefit from encoding normal (unit) vectors. For example in deferred shading G-buffer space is a limited resource. Additionally it’s nice to be able to encode world space normals with uniform precision. Some encoding techniques work only for … Continue reading

Posted in Graphics | 15 Comments

Simple GPUView custom event markers

GPUView is a powerful tool for GPU/CPU interaction profiling for Windows. It’s interface isn’t very user friendly, but it gets job done. I used it for optimizing in-house GPU lightmapper and spend some time trying to find a way to add … Continue reading

Posted in Graphics | 3 Comments

LA Noire

LA Noire has some amazing tech for face animations. Basically actors are filmed from multiple cameras and resulting movies are converted to a keyframed animation and animated textures. All the textures are captured in neutral lighting conditions, so usually lighting … Continue reading

Posted in Graphics | Leave a comment

Unreal Engine 4 gaussian specular normalization

Recently Epic did a nice presentation about their new tech: “The technology behind Unreal 4 Elemental demo“. Among a lot of impressive stuff they showed their gaussian specular aproximation. Here is a BRDF with U4 specular for Disney’s BRDF explorer: This … Continue reading

Posted in Graphics, Lighting | 1 Comment

Visual C++ linker timestamp

Nice trick to get build’s timestamp at runtime (Visual C++ only): It’s not very portable, but it doesn’t require any additional recompilation (as __DATE__ __TIME__ macros do).

Posted in C++ | 1 Comment

PixelJunk Eden data extractor

Recently Q-Games ported one of their games – PixelJunk Eden to Windows. Actually it’s their first Windows release. From tech perspective it’s not as impressive as PixelJunk Shooter series, but still it was quite interesting to poke around this game’s … Continue reading

Posted in C++ | Leave a comment