    #version 120 
    #extension GL_EXT_bindable_uniform : enable 
    #extension GL_EXT_gpu_shader4 : enable 
#define tex2D texture2D
uniform mat4 ProjectionMatrix;


varying vec3 normal;
uniform float PosY;
uniform float ttime;
uniform float randomize;
				
uniform sampler1D texture1d_pos;
varying vec4 projection_position;

varying vec4 ShadowPosZ;
varying vec4 Color;
varying vec2 UVcoordinates;

varying vec4 projection_from_camera;
varying vec4 TheGoodPosition;
	uniform float isReflective;
	uniform float isHappiness;
uniform float isHappinessWhere;
	uniform float ReflectPass;
varying vec3 normalB;
	void main()
{
mat4 Billboard;


TheGoodPosition=gl_Vertex.xyzz;
vec4 glVertex= gl_Vertex;
vec2 TheUV;



glVertex= gl_TextureMatrix[0] * glVertex;




projection_position=glVertex;
gl_Position =  glVertex;

// texture coordinates
//UVcoordinates=gl_Position.xz*0.2;



UVcoordinates = vec2(gl_MultiTexCoord0);
// final projection
gl_Position = gl_ModelViewProjectionMatrix * gl_Position;
projection_from_camera=gl_Position;



// instancing
///gl_Position.y+=1.0*gl_InstanceID;

// vertex instancing
///if (gl_VertexID==244) gl_Position.y+=1.0;



// Transforming The Normal To ModelView-Space
normal = gl_NormalMatrix *  gl_Normal; 
//ormal.z*=-1.0;
// color pass
Color=gl_Color;


// point size
///gl_PointSize =120.0/gl_Position.w;
}











