<jittershader name="default">
	<description>Default Slab </description>
	<param name="tex0" type="int" default="0" />
	<param name="modelViewProjectionMatrix" type="mat4" state="MODELVIEW_PROJECTION_MATRIX" />
	<param name="textureMatrix0" type="mat4" state="TEXTURE0_MATRIX" />
	<param name="position" type="vec3" state="POSITION" />
	<param name="texcoord" type="vec2" state="TEXCOORD" />
	<param name="current" type="float" default="0.0" />
	<param name="threshold" type="float" default="0.5" />
	<param name="z_pos" type="vec3" state="VERTEX_ATTR" />
	<param name="width" type="float" default="1.0" />
	<language name="glsl" version="1.5">
		<bind param="tex0" program="fp" />
		<bind param="modelViewProjectionMatrix" program="vp" />
		<bind param="textureMatrix0" program="vp" />
		<bind param="position" program="vp" />
		<bind param="texcoord" program="vp" />
		<bind param="z_pos" program="vp" />
		<bind param="width" program="vp" />
		<bind param="current" program="fp" />
		<bind param="threshold" program="fp" />
		<program name="vp" type="vertex"  >
		<![CDATA[
			#version 330 core
			
			in vec3 position;
			in vec2 texcoord;
			in vec3 z_pos;
			out jit_PerVertex {
				vec2 texcoord;
				vec3 zee;
			} jit_out;
			uniform mat4 modelViewProjectionMatrix;
			uniform mat4 textureMatrix0;
			
			uniform float width;
			
			void main(void) {
				gl_Position = modelViewProjectionMatrix*vec4(position + vec3(0, 0, width)*(2*z_pos-1.0), 1.);
				jit_out.texcoord = vec2(textureMatrix0*vec4(texcoord, 0., 1.));
				jit_out.zee = z_pos;
			}
		]]>
		</program>
		
		<program name="fp" type="fragment"  >
		<![CDATA[
			#version 330 core
			
			in jit_PerVertex {
				vec2 texcoord;
				vec3 zee;
			} jit_in;
			layout (location = 0) out vec4 outColor;
			
			uniform sampler3D tex0;

			uniform float current;
			uniform float threshold;
			
		
			
			void main(void) {
					
					
				vec4 color = texture(tex0, vec3(jit_in.texcoord, jit_in.zee.z + current/48.0));
				float l = dot(color.xyz, color.xyz);
				l = l < threshold ? 1 : 0;
				outColor = vec4(color.xyz, l);
			}
		]]>
		</program>
	</language>
</jittershader>
