I'm currently facing a problem with intel hd graphics hardware to implement shadow mapping effects. I think that the code isn't far from what i want to have as results because this code snippet works fine on ATI Mobility Radeon 5650 and Nvidia NVS 4200M, but doesn't work on Intel HD 3000 and 4000.
GL.GenTextures(1, out ShadowMap);
GL.BindTexture(TextureTarget.Texture2D, ShadowMap);
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Nearest);
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Nearest);
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureWrapMode.Clamp);
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureWrapMode.Clamp);
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureCompareFunc, (int)All.Lequal);
GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.DepthComponent32, SHADOW_MAP_SIZE, SHADOW_MAP_SIZE, 0, OpenTK.Graphics.OpenGL.PixelFormat.DepthComponent, PixelType.Float, IntPtr.Zero);
GL.BindTexture(TextureTarget.Texture2D, 0);
GL.GenFramebuffers(1, out FBO);
GL.BindFramebuffer(FramebufferTarget.Framebuffer, FBO);
DrawBuffersEnum dbe = DrawBuffersEnum.None;
GL.DrawBuffers(0, ref dbe);
GL.FramebufferTexture2D(FramebufferTarget.Framebuffer, FramebufferAttachment.DepthAttachment, TextureTarget.Texture2D, ShadowMap, 0);
FramebufferErrorCode status = GL.CheckFramebufferStatus(FramebufferTarget.Framebuffer);
GL.BindFramebuffer(FramebufferTarget.Framebuffer, 0);
the "status" variable indicates FramebufferIncompletReadBuffer, so the use of this fbo won't be correct (rendering the scene from the light POV). I've been seeing on web for this status and i didn't found an answer that solve my problem. So What i'm doing wrong on this snippet and/or what can be the origin of this FBO issus. Thanks in advance. PS: In shaders I use 1.2 version and i'm supposed to sample ShadowMap texture as a depth map.