Mike Day: An efficient and user-friendly tone mapping operator

Posted on

At Insomniac we’ve been using the well-known Reinhard tone mapping operator for a while now, but have found its parameterization unintuitive, and its curve shape to be lacking the useful ‘toe’ feature. Presented here is an efficiently computed alternative model … Read More

1 Comment
 
+1

Mike Day: #SIGGRAPH 2012 CSM Scrolling

Posted on

This document (by Mike Day) accompanies the SIGGRAPH presentation (by Mike Acton) “CSM Scrolling: An acceleration technique for the rendering of cascaded shadow maps” and will explain how a bitmap-scrolling technique can be combined with a shadow map caching scheme … Read More

2 Comments
 
+2

Mike Day: Vector length and normalization difficulties

Posted on

Here’s a short account of an easily overlooked difficulty with vector length and vector normalization functions, together with one way of solving the problem. We’ll use 3-component vectors by way of illustration, but the idea is easily extended to longer … Read More

1 Comment
 
+1

Mike Day: Extracting Euler Angles from a Rotation Matrix

Posted on

This article attempts to fix a problem which came up when implementing Ken Shoemake’s Euler angle extraction in the context of a single-precision floating point library. The original Shoemake code uses double precision, which presumably maintains sufficient precision for the … Read More

Leave a Comment
 
+0

Mike Day: Overlap test for spotlight cone vs sphere

Posted on

A ‘spotlight cone’ can be pictured as an ordinary right circular cone, the base of which has been inflated outwards to form part of a spherical surface centred on the cone’s apex. This shape is useful in lighting systems for … Read More

Leave a Comment
 
+0

Mike Day: Faster filters using bilinear texture look-ups

Posted on

There’s a fairly standard technique which uses carefully-placed bilinear taps to halve the number of texture look-ups needed to implement a given filter. This document provides a technique which can, under certain conditions, eliminate one additional look-up from each of … Read More

Leave a Comment
 
+0

Mike Day: Overlap test for OBB vs OBB

Posted on

We follow the method of separating axes, optimized for the case at hand. The assumed scenario is a looping SIMD implementation, where it is often beneficial to perform the full calculation for each test unconditionally. In other situations, it may … Read More

Leave a Comment
 
+0

Andreas Fredriksson: The Register Pressure Twilight Zone

Posted on

Reposted from Andreas’s blog:

At Insomniac Games we’re currently doing a performance push which means lots of opportunity to look at compiler output. In this post I want to share a story on fighting a particular compiler optimization that … Read More

Leave a Comment
 
+0

Ron Pieket: A Client/Server Tools Architecture

Posted on

All interactive productivity tools developed over the last two years at Insomniac Games have been built on this architecture. The basic idea is that the edited document is not kept in the memory space of the editor application itself, but rather each individual modification is transmitted to a server application, running on the same machine as the editor. The server maintains the authoritative document. Any number of documents may be open at any time. Any number of editors may communicate with the same local server application. The server provides various document related services. More

Leave a Comment
 
+0

#GDC12 Ron Pieket: Developing Imperfect Software: The Movie

Posted on

In game software development, we face a unique challenge: the program that we are developing is itself an important tool in our production pipeline, even in its unfinished state. Our artists and designers rely on it to see their work. … Read More

Leave a Comment
 
+0