Please help, depth texture rectangle in glsl

For some reason I just cannot get depth values from my texture rectangle depth buffers. I desperately need help as I’ve tried just about everything I can think of.

My color attachment for the texture rectangle also works fine, so I’m sending in the correct arb_texture_rectangle expected texel based UVs

My depth texture_2d stuff works fine, and it uses exactly the same setup for my depth texture rect.

After I bind the texture, I do this…


glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_COMPARE_MODE_ARB, GL_NONE);
GLint UniformLoc = -1;
GLuint Program = GetShaderProgramHandle(SHADOWRECT_SHADER);

UniformLoc = glGetUniformLocationARB(Program, "tex");
if (UniformLoc < 0)
   glUniformError(__LINE__, __FILE__);
glUniform1iARB(UniformLoc, 0);

In the texture2d shader I do this


uniform sampler2D tex;
...
color = texture2D(tex, gl_TexCoord[0].st);
gl_FragColor = color;

In the texture rectangle shader I do this.


uniform sampler2DRect tex;
...
color = texture2DRect(tex, gl_TexCoord[0].st);
gl_FragColor = color;

When sending texture2d quads I use UVs from 0.0-1.0, when sending texturerect quads UVs are 0.0-tex_size.xy

So I’m REALLY at a loss here, any help?

thanks.

Keith

OK, I assume you had depth texture2D working at some moment and now want to use TextureRectangle.

Q1: Make sure this function is called when your depth texture is attached to GL_TEXTURE_RECTANGLE_ARB bind point, before you are trying to read from it.
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_COMPARE_MODE_ARB, GL_NONE);

Q2: What do you see as a result?

P.S. This shouldn’t be difficult: I’m using depth rectangles for quite a long time already.

Ah, this was my own stupidity, I forgot to resolve the multisamples on the depth buffer in my frambuffer blit! duh…

Thanks,

Keith

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.