I’m copying nvidia’s example simple_shadow_map_render_depth_texture.
My code boils is similar to their render_light_depth function:
if (wglMakeCurrent( pbuffer.hdc, pbuffer.hglrc) == FALSE)
wglGetLastError();
glClear(GL_DEPTH_BUFFER_BIT|GL_COLOR_BUFFER_BIT);
render_scene_from_light_view();
if (wglMakeCurrent( hdc, hglrc) == FALSE)
wglGetLastError();
When I render from the light’s point of view the only things I enable are depth, culling, and colour material.
One thing I notice is that setting and unsetting my pbuffer context is no problem. But when I set it, render the scene (just one model of it actually) to it, and then restore the main context, I sometimes get wierd artefacts depending on the view. Sometimes I have the wrong texture or no texture on certain parts of certain models! I can clear the buffer (depth and colour), but I can’t draw to it without causing corruption elsewhere!
I’m not trying to use this pbuffer for anything yet, I’m simply trying to render to it.
Anybody else encounter anything like this?