The original blog was lost, but I was able to recover and preserve most of the posts, pages and content here.
Between 2008 and 2014 I was a Microsoft XNA/DirectX MVP. During those years I wrote a lot of tutorials and samples about shaders and graphics programming in XNA: deferred rendering, HLSL, 2D shadows, fur and more. Some of them were first published on Ziggyware and Sgt. Conker.
I also made games, including Chickens Can't Fly with AmusedSloth, which later came to iOS and Android through MonoGame.
XNA is long gone, but people still find these articles useful, so they stay online here, unchanged.
Classic tutorials and samples
- Crash Course in HLSLAn introduction to HLSL and the structure of an effect file.
- Deferred RenderingBuilding a deferred renderer in XNA: G-buffer, directional and point lights, materials.
- Multi-threading your XNARunning Update and Draw on separate threads with double-buffered change messages, tested on Xbox 360.
- Shader-Based Dynamic 2D smooth shadowsSoft dynamic 2D shadows computed on the GPU.
- Dynamic 2D ShadowsHard dynamic 2D shadows for lights in 2D games.
- Four Uses of VTFVertex texture fetch: heightmap terrain, terrain morphing, particles and steps in snow.
- Fur RenderingRendering fur with shells.
- 2D Skeletal AnimationAnimating 2D characters with bones.
- Postprocessing on Windows Phone 7Postprocessing effects on Windows Phone 7, in three parts.
- Direct3D for Windows Phone 8Getting started with Direct3D on Windows Phone 8 for 2D games.






