C# OpenGL (OpenTK) can't draw to textures GLSL
===

I'm trying to render with GLSL into a texture, and then to draw that on the screen (Drawing it on the screen is only a temporary test, just to make sure the image is receiving the correct data), however I think that nothing is being drawn to the texture.

So as far as i know, textures must be bound as color attachments, and then gl_FragData[i] in the shader should allow you to set colors in the texture.

I have this code to initiate my 3 textures:

                GL.GenTextures(textures.Length, textures);

				GL.BindTexture(TextureTarget.Texture2D, textures[0]);
				GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba16, 800, 600, 0, PixelFormat.Rgba, PixelType.Float, (IntPtr)0);
				GL.FramebufferTexture2D(FramebufferTarget.DrawFramebuffer, FramebufferAttachment.ColorAttachment0, TextureTarget.Texture2D, textures[0], 0);

				GL.BindTexture(TextureTarget.Texture2D, textures[1]);
				GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba16, 800, 600, 0, PixelFormat.Rgba, PixelType.Float, (IntPtr)0);
				GL.FramebufferTexture2D(FramebufferTarget.DrawFramebuffer, FramebufferAttachment.ColorAttachment1, TextureTarget.Texture2D, textures[1], 0);

				GL.BindTexture(TextureTarget.Texture2D, textures[2]);
				GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba16, 800, 600, 0, PixelFormat.Rgba, PixelType.Float, (IntPtr)0);
				GL.FramebufferTexture2D(FramebufferTarget.DrawFramebuffer, FramebufferAttachment.ColorAttachment2, TextureTarget.Texture2D, textures[2], 0);

				DrawBuffersEnum[] DrawBuffers = { DrawBuffersEnum.ColorAttachment0, DrawBuffersEnum.ColorAttachment1, DrawBuffersEnum.ColorAttachment2};
				GL.DrawBuffers(DrawBuffers.Length, DrawBuffers);

And then I call a function which draws a texture to the screen, passing in the texture of texture[0].

Finally, these are my shaders:

            private static string NormalVertexText = @"
            #version 150
 
            uniform mat4 view_matrix;

			uniform mat4 model_matrix;      
 
            uniform mat4 projection_matrix;
 
            in vec3 vertex_position;
 
            in vec3 vertex_normal;			
 
            out vec3 normal;
 
            void main(void)
            {	
				normal = normalize((transpose(inverse(model_matrix)) * vec4(vertex_normal, 0)).xyz);
				
				gl_Position = projection_matrix * view_matrix * model_matrix * vec4( vertex_position, 1 );
            }";

			private static string NormalFragmentText = @"
            #version 140
 
            precision highp float;
 
            in vec3 normal;		

            void main(void)
            {
				gl_FragData[0] = vec4(normal / 2 + vec3(0.5, 0.5, 0.5), 1);
            }";


So my problem is this, the image being shown is plain black, so i am assuming that nothing is being rendered to texture[0] at all. What could i do to go about solving this issue?