//
// Soft particles vertex shader
//

varying	vec3 pos;

void main(void)
{
	float	r = gl_MultiTexCoord1.w;
	
	pos             = vec3 ( gl_ModelViewMatrix * gl_Vertex ) + vec3 ( 2.0*r, 0.0, 0.0 ) * (gl_MultiTexCoord0.x - 0.5) + vec3 ( 0.0, 2.0*r, 0.0 ) * (gl_MultiTexCoord0.y - 0.5);
	gl_Position     = gl_ProjectionMatrix * vec4 ( pos, 1.0 );
	gl_TexCoord [0] = gl_MultiTexCoord0;
	gl_TexCoord [1] = vec4 ( (gl_ModelViewMatrix * vec4 ( gl_MultiTexCoord1.xyz, 1.0 )).xyz, r );
}
