Author Archives: Krzysztof Narkowicz

Virtual memory on PC

There is an excelent post about virtual memory. It’s written mainly from a perspective of console developer. On consoles most of memory issues are TLB misses and physical memory limit. I’ll try to write more about how (bad) it looks … Continue reading

Posted in PC | 1 Comment

Shader Optimizations

A small list of basic and sometimes overlooked shader optimization possibilities. This are very small gains, but they can sum up and maybe there will be some free time for an additional point light or a better shadow filter? Full screen … Continue reading

Posted in Graphics | Leave a comment

Software occlusion culling

Today CPUs are quite fast, so why not use them to draw some triangles? Especially when all the cool kids use it them for software occlusion culling. Time to take back some of CPU time from gameplay programmers and use … Continue reading

Posted in Graphics | 4 Comments

Aggregated deferred lighting

Random idea about a new way to do deferred lighting. The idea is to decouple lighting from geometry normals. In order to do that, lighting information is stored as aggregated lights ( direction + color ). 1st pass – z-prepass … Continue reading

Posted in Graphics, Lighting | 8 Comments

Rendering Light Geometry for Deferred Shading/Lighting

Interesting idea from Call Of Juarez 2 about rendering deferred light geometry. When deferred light geometry intersects with camera you need to switch culling and turn off zbuffer. In COJ2, instead of testing intersection on CPU and switching states, they … Continue reading

Posted in Graphics | 3 Comments

Siggraph 2010 Papers

A small list of Siggraph 2010 papers (I’ll try to keep it up to date): Some academic stuff ( < 1 fps 🙂 ) Physically based shading course Color course. Includes very interesting stuff about tone mapping from tri-Ace R&D Proceedings at … Continue reading

Posted in Conference | Leave a comment

VC++ and multiple inheritance

Today at work we were optimizing memory usage. At some moment we found out that size (on stack) of our basic data structures is x bytes bigger than summed size of their members. Every basic data structure was written following … Continue reading

Posted in C++ | 4 Comments

CELL SDK installation on Fedora 13 x86_64

I just installed IBM CELL SDK, CELL simulator and CELLIDE on my PC box with newest Fedora. It was a quite painful process and I couldn’t find anywhere full installation instruction. It’s a pity that IBM releases such interesting technology … Continue reading

Posted in CELL | 5 Comments

Color grading and tonemapping using photoshop

There is a very simple and nice idea in UDK documentation about adding color grading to engine in easy way, without writing any special tools. Color grading in UDK uses LUT table (3d texture, with mapping from RGB to RGB). … Continue reading

Posted in Graphics, Post Processing | Leave a comment

C++ compiler VS human

There is a very nice article about writing fast math library on gamasutra. It shows for example that using operator overloading generates slower code than when using functions. A lot of people believe that compiler will generate better code than a … Continue reading

Posted in C++ | Leave a comment