Problem with texturing landscape.

Started by
0 comments, last by griffenjam 20 years, 10 months ago
I've just recently added texturing code to my landscape/quadtree and while it works it doesn't match up quite right. The texture does not match the landscape. I create the texture and the heightmap in PSP 8, I create the heightmap first, copy and past it as a new image and create the texture from that. I thought it would line up because it has the exact same properties as the heightmap, but it doesn't. Here is my drawing code. Edit: My heightmap spacing is 32.0f and my texture size is 512x512.


glBegin(GL_TRIANGLES);
   for(int i=0; i < nNumTriangles*3; i+=3)
   {
      if(bSwitch)
      {
      //   glColor4f(0.0f, (pvVerts-&gt;y/3.5f)/256.0f, 0.0f, 1.0f);
</font>
         glTexCoord2f(((pvVerts[<font color=purple>i</font>]-&gt;x/32.0f)/512.0f), 1.0f - ((pvVerts[<font color=purple>i</font>]-&gt;z/32.0f)/512.0f));
<font color=gray>//         glTexCoord2f((pvVerts-&gt;z/32.0f)/500.0f, (pvVerts-&gt;x/32.0f)/500.0f);
</font>
         glVertex3f(pvVerts[<font color=purple>i</font>]-&gt;x, pvVerts[<font color=purple>i</font>]-&gt;y, pvVerts[<font color=purple>i</font>]-&gt;z);
       
     <font color=gray>//    glColor4f(0.0f, (pvVerts[i+1]-&gt;y/3.5f)/256.0f, 0.0f, 1.0f);
</font>
         glTexCoord2f((pvVerts[<font color=purple>i+1</font>]-&gt;x/32.0f)/512.0f, 1.0f - ((pvVerts[<font color=purple>i+1</font>]-&gt;z/32.0f)/512.0f));
<font color=gray>//         glTexCoord2f((pvVerts[i+1]-&gt;z/32.0f)/500.0f, (pvVerts[i+4]-&gt;x/32.0f)/500.0f);
</font>
         glVertex3f(pvVerts[<font color=purple>i+1</font>]-&gt;x, pvVerts[<font color=purple>i+1</font>]-&gt;y, pvVerts[<font color=purple>i+1</font>]-&gt;z);
         
     <font color=gray>//    glColor4f(0.0f, (pvVerts[i+2]-&gt;y/3.5f)/256.0f, 0.0f, 1.0f);
</font>
         glTexCoord2f((pvVerts[<font color=purple>i+2</font>]-&gt;x/32.0f)/512.0f, 1.0f - ((pvVerts[<font color=purple>i+2</font>]-&gt;z/32.0f)/512.0f));
<font color=gray>//         glTexCoord2f((pvVerts[i+2]-&gt;z/32.0f)/500.0f, (pvVerts[i+2]-&gt;x/32.0f)/500.0f);
</font>
         glVertex3f(pvVerts[<font color=purple>i+2</font>]-&gt;x, pvVerts[<font color=purple>i+2</font>]-&gt;y, pvVerts[<font color=purple>i+2</font>]-&gt;z);
      }
      <font color=blue>else</font>
      {
     <font color=gray>//    glColor4f(0.0f, (pvVerts[i+2]-&gt;y/3.5f)/256.0f, 0.0f, 1.0f);
</font>
         glTexCoord2f((pvVerts[<font color=purple>i+2</font>]-&gt;x/32.0f)/512.0f, 1.0f - ((pvVerts[<font color=purple>i+2</font>]-&gt;z/32.0f)/512.0f));
<font color=gray>//         glTexCoord2f((pvVerts[i+2]-&gt;z/32.0f)/500.0f, (pvVerts[i+2]-&gt;x/32.0f)/500.0f);
</font>
         glVertex3f(pvVerts[<font color=purple>i+2</font>]-&gt;x, pvVerts[<font color=purple>i+2</font>]-&gt;y, pvVerts[<font color=purple>i+2</font>]-&gt;z);


       <font color=gray>//  glColor4f(0.0f, (pvVerts[i+1]-&gt;y/3.5f)/256.0f, 0.0f, 1.0f);
</font>
         glTexCoord2f((pvVerts[<font color=purple>i+1</font>]-&gt;x/32.0f)/512.0f, 1.0f - ((pvVerts[<font color=purple>i+1</font>]-&gt;z/32.0f)/512.0f));
<font color=gray>//         glTexCoord2f((pvVerts[i+1]-&gt;z/32.0f)/500.0f, (pvVerts[i+1]-&gt;x/32.0f)/500.0f);
</font>
         glVertex3f(pvVerts[<font color=purple>i+1</font>]-&gt;x, pvVerts[<font color=purple>i+1</font>]-&gt;y, pvVerts[<font color=purple>i+1</font>]-&gt;z);

      <font color=gray>//   glColor4f(0.0f, (pvVerts-&gt;y/3.5f)/256.0f, 0.0f, 1.0f);
</font>
         glTexCoord2f((pvVerts[<font color=purple>i</font>]-&gt;x/32.0f)/512.0f, 1.0f - ((pvVerts[<font color=purple>i</font>]-&gt;z/32.0f)/512.0f));
<font color=gray>//         glTexCoord2f((pvVerts-&gt;z/32.0f)/500.0f, (pvVerts-&gt;x/32.0f)/500.0f);
</font>
         glVertex3f(pvVerts[<font color=purple>i</font>]-&gt;x, pvVerts[<font color=purple>i</font>]-&gt;y, pvVerts[<font color=purple>i</font>]-&gt;z);  
      }
      bSwitch = !bSwitch;
   }
   glEnd();

 </pre><!–ENDSCRIPT–>      

<HR>
"There aint gonna be no tea and crumpets!"

<SPAN CLASS=editedby>[edited by - griffenjam &#111;n June 4, 2003 2:49:48 PM]</SPAN>

<SPAN CLASS=editedby>[edited by - griffenjam &#111;n June 4, 2003 2:50:47 PM]</SPAN>   
"The paths of glory lead but to the grave." - Thomas GrayMy Stupid BlogMy Online Photo Gallery
Advertisement
Why do you take 1.0f - the Z texture coordinate? Wouldn''t this cause the texture map to be inverted compared to the heightmap?
Not sure if that is true, but just a thought!

I should probably be working now...
I should probably be working now...

This topic is closed to new replies.

Advertisement