ZX Spectrum and Palettizer Layer Effects

Written by Dean Edis on .

In our first article we covered how we can write a simplified Photoshop-style API for displaying multiple textures on the screen, and we have since extended the code to several extra features:

Adding Parallax scrolling to your XNA code
Adding video layers to your XNA code
Reporting performance statistics in your XNA code
Adding 2D Pixel Effects to Layers
Collection of Layer Effects

I was going to hold off on showing you any more pixel shaders, but I recently wrote one which seems cool enough to show you now!

One of our original ideas for a level in Lunar Panda was for Mr Panda to disappear down a ‘wormhole’ at some point, and enter a ‘retro’ universe. We’d change our screen art so it was pixellated and had a limited color palette, making it look like it would in the ‘old days’ of gaming.

Alas that was never implemented, and shelved for a future game, but that didn’t stop me from investigating whether we could automatically achieve this effect using a pixel shader. It turns out we can get pretty close!

Collection of Layer Effects

Written by Dean Edis on .

In our first article we covered how we can write a simplified Photoshop-style API for displaying multiple textures on the screen, and we have since extended the code to several extra features:
Adding Parallax scrolling to your XNA code
Adding video layers to your XNA code
Reporting performance statistics in your XNA code
Adding 2D Pixel Effects to Layers

Our previous article extended the Layer code to allow a collection pixel shaders to be applied by the GPU. As promised, in this article I’ll deliver a collection of shaders which you can use in your code.

Adding 2D pixel effects to Layers

Written by Dean Edis on .

In our first article we covered how we can write a simplified Photoshop-style API for displaying multiple textures on the screen, and we have since extended the code to several extra features:

Adding Parallax scrolling to your XNA code
Adding video layers to your XNA code
Reporting performance statistics in your XNA code

We will now move on to another powerful addition to the Layer code - Effect filters. Photoshop (and similar applications) allow effects to be applied on a layer-by-layer basis - Blur, grayscale, bloom, lighten, darken, etc. The ability to chain together multiple filters can create some stunning visual effects, and as XNA allows us to run these on the graphics card’s GPU they can have a minimal impact on your CPU.

Initially I’ll provide a single simple effect filter for displaying a Layer as grayscale. In later articles I’ll extend the collection to include more. As always my aim is to make the Layer API simple to use, hiding as much complexity from the caller as possible.

The Music Of Lunar Panda

Written by Adrian Killens on .

For those interested in the music of Lunar Panda, I've spent the morning going through the stuff that I composed for the game and put it all together in a nice little SoundCloud playlist along with some screenshots of where the music gets used in the game. If you're working on any non-profit stuff and you want to use any of it then please feel free.