isf 0.1.0

Parsing, Deserialization and Serialization of the Interactive Shader Format.
Documentation
/*{
	"DESCRIPTION": "demonstrates the use of multiple image-type inputs",
	"CREDIT": "by zoidberg",
	"ISFVSN": "2.0",
	"CATEGORIES": [
		"TEST-GLSL FX"
	],
	"INPUTS": [
		{
			"NAME": "inputImage",
			"TYPE": "image"
		},
		{
			"NAME": "blendImage",
			"TYPE": "image"
		}
	]
}*/

void main()
{
	//	these two variable declarations are functionally identical (the only difference is that THIS_PIXEL is a non-dependent texture lookup)
	//vec4		srcPixel = IMG_PIXEL(inputImage, gl_FragCoord.xy);	//	returns a vec4 with the colors of the pixel in sampler "inputImage" at (non-normalized) texture coordinates "srcCoord"
	//vec4		srcPixel = IMG_THIS_PIXEL(inputImage);
	
	//	these two variable declarations are also identical.  though they behave similarly to the above declarations in this specific filter, NORM and non-NORM pixel lookups are fundamentally different and behave differently under other circumstances.
	//vec4		srcPixel = IMG_NORM_PIXEL(inputImage, isf_FragNormCoord);
	vec4		srcPixel = IMG_THIS_NORM_PIXEL(inputImage);
	
	vec4		blendPixel = IMG_THIS_NORM_PIXEL(blendImage);	//	returns a vec4 with the colors of the pixel in sampler "inputImage" at (normalized) texture coordinates "blendCoord".
	gl_FragColor = srcPixel/2.0 + blendPixel/2.0;
}