My name is Tomasz Stachowiak. I’m a game programmer. I’m mostly interested in the topics of graphics (both real-time and off-line) and game networking (networked physics), though I’ve been fiddling with other areas as well, such as doing core game engine programming, tools (custom statistical profiler, build tool, graph-based shader editor), GUIs (IM, RM) and various perversions, such as compile-time ray tracing.
I am currently employed by The Creative Assembly, and work as a graphics programmer on an upcoming console title. Stay tuned, it’s going to be shiny! If you’d like to join us, drop me a line; we’re hiring!
You can contact me by sending an e-mail to the 'h3’ account at this domain.
About this site
The background is composed of two gradients, a horizontal and a vertical one (composed of two background images aligned to the top and bottom of the page, respectively). The horizontal one is translucent, thus mixing with the background vertical one forming the curved pattern. Both of the gradients are generated using a D program which utilizes Catmull-Rom and Cosine splines to interpolate the values. The calculations are done using floating point RGB colors, which subsequently have specially weighted noise added to them. Finally, the linear color is converted to the sRGB space and quantized. The noise is not purely aesthetical – without it, there would be apparent banding resulting from the ability of the human visual system to perceive more than 256 shades of gray. The use of noise is a hack exploting an intrinsic feature of this visual system, which is filtering. In the presence of noise, the human brain will smooth out the image similarly to a bilateral filter, thus adding the missing gray levels.
The horizontal gradient is generated for most popular horizontal resolutions, starting with 320 and ending with 4096 pixels. The proper one is chosen by EcmaScript at init time and upon window resizing.
As for the actual contents, the website is a set of static HTML pages generated by a simple Python script from Textile files kept in a Mercurial repository. Except regular Textile, the markup may include Graphviz Dot and code highlighted with Pygments.
The visual display settings may be tweaked by accessing a settings pane in the top-right corner of the page. The configuration is stored in a cookie and remembered for subsequent visits.
Get the source code of this website directly from its mercurial repository!