Texturing a line with 2-D texture element

Hi Everyone,

I am trying to texture a line segment with a 2-D texture element. In other words, I am providing same u value and increasing v value for my line.

I try to do this in Cg (with this piece of code:

kd = (half3)tex2D(hairTexture, uv).xyz;

), what I want to know is that whether this is possible with the OpenGL part.

If it is possible to texture a line primitive with a 2-D texture element with pure OpenGL, then I would know that the problem is with Cg part. (Recommendations with the Cg part are also welcomed :slight_smile: )

Thanks in advance

Rifat


glColor4f(1.0,1.0,1.0,1.0);
glEnable(GL_TEXTURE_2D);
glBegin(GL_LINES);
glTexcoord2f(u,v1);
glVertex3f(x1,y1,z1);
glTexcoord2f(u,v2);
glVertex3f(x2,y2,z2);
glEnd();

Then I understand that it is possible to texture a line primitive with GL_TEXTURE_2D and glTexcoord2f.

I am loading the texture, passing the texture identifier to Cg’s sampler2D variable and try to access texture information with

(half3)tex2D(hairTexture, uv).xyz;

Unfortunately, it does not seem to be reading correct color information; I cannot see texture drawn onto the line primitive.

Am I doing something wrong?

I guess so…the question is ‘what’ :wink:

Did you try the fixed function path? Are your sampler states correct? Try writing out the uv coords, maybe there’s something wrong with them, etc.

N.

Hmm “uv coords” may be the problem… I dynamically calculate them at vertex shader. I thought they were correct, but maybe… When I get to home I will give it a try and let you know…

Thanks anyway…

Maybe you did not build mipmaps for your texture, by default mipmaps are needed.