Pico Pixel uses shaders to display textures. Two triangles and a texture is all that is needed for Pico Pixel to display an image. And the shaders it uses are very simple.
There is a request on PixelAndPolygon twitter feed to give the user control over the rendering shaders in Pico Pixel. I was optimistic about the feasibility of the feature at the time.
@PixelAndPolygon Feature request: glsl snippet input to do custom color transform. Useful for YCoCg visualization and other custom encodings— Ignacio Castaño (@castano) August 8, 2013
However, the request has remained unfulfilled.
For all that time since the request was made, I have been thinking and working on a new feature for Pico Pixel.
If you don't know what Shadertoy is, go have a look.
Shaders on modern GPUs can be very elaborate. Over the last few years, Shadertoy has formalized and made popular a new way of using shaders for fun, science and education. The image you see above is from the game Bricks. It is the first multi-pass game made by Iq, a founder at Shadertoy. It is made of two shaders and it runs in Pico Pixel in real-time, with mouse and keyboard interaction.
Pixel Compositor is the new feature that allows you to use custom shaders in Pico Pixel. As before, the rendering is done with two shaded triangles. The main difference is the complexity of the shaders, which you will control. In other words: bring your own shaders to Pico Pixel!
The feature is not a desktop version of Shadertoy. While I was designing it, I thought to give you the best control over the rendering of images. The interface defined by Shadertoy was a great start.
I leave the details of how the feature works for the next posts.