The second part was creating the shader that would calculate whether the pixel was in shadow or not. This part was a little difficult as I was using various sources of information for this and they all did things slightly differently. The most difficult was ensuring that the texture co-ordinates were being calculated correctly. Which meant I had to pass in the Lights View Projection Matrix. My confusion came mostly whether It needed to include the lights model matrix or not, or the actual model matrix for the object. After a lot of shader debugging I managed to get it all Working and here it is:
As I have implemented the render method for a full screen texture and a new framebuffer, it now means I will easily be able to add post processing effects into my project. by bouncing from the default frame buffer to my newly created one and back until finally displaying the final image on screen using the full screen texture render method.
All of which I am hoping are things to come.