Category Archives: Graphics

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

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

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

Particle data structure

Particles are usually some kind of simple structs stored in an array. Then every frame vertex buffer is filled using that array. You really don’t want to sort them (at least not all particles and sometimes sorted particles don’t look … Continue reading

Posted in Graphics | 3 Comments

Premultiplied alpha

If You don’t know what’s premultiplied alpha and why it solves all the world’s problems, just read Tom Forsyth on premultiplied alpha or Shawn Hargreaves on premultiplied alpha. Pros: Better quality for textures with sharp alpha cutouts. Removes some blending … Continue reading

Posted in Graphics | 1 Comment