# Sample neighbor texels

This topic is 2590 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hi,

I have 2 questions about GLSL texture sampling.

1) If I sample a texture with texture2DRect( diffuseTex , gl_TexCoord[0].xy ) ;
where xy are non-normalized coordinates (i.e. from (0,0) to (800,600),
where does a coordinate of (0,0) sample? Is this the bottom left cornor of a texel or the center or...?

2) What offsets do I need if I want to sample the right and left neighbor of the current texel in the fragment shader.

 RightNeighborSample = texture2DRect( diffuseTex , gl_TexCoord[0].xy + rightOffset ); LeftNeighborSample = texture2DRect( diffuseTex , gl_TexCoord[0].xy + leftOffset ); 
Which values do I need for rightOffset? vec2(1,0) or vec2(0.5, 0), or ...?

Thanks!

##### Share on other sites
texcoord_X + 1.0/size_width
texcoord_Y + 1.0/size_height

because texcoord go from 0.0 to 1.0 (0 to width)
and
for the height 0.0 to 1.0

##### Share on other sites
Well, thanks. But actually that did not answer my questions.

First of all I am using texture2DRect(), which uses NON normalized coordiantes (I wrote it in my posting). Second I want to know where the sampling point in the texels is.

##### Share on other sites
For regular textures, (0,0) is the lower left corner of the lower left texel, so I would imagine that it is the same for rectangular textures as well.

If each texel is already lined up with a pixel boundary, then gl_TexCoord[0].xy should already be selecting the center of a texel, so you'll just want to add 1.0 in each direction that you want to get the neighbor texel.

1. 1
2. 2
Rutin
20
3. 3
4. 4
frob
15
5. 5

• 10
• 9
• 13
• 9
• 33
• ### Forum Statistics

• Total Topics
632592
• Total Posts
3007289

×