• Advertisement
Sign in to follow this  

something about the Billboards

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

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am a novice in the tree design. I have a question about the code :

void baiscobj::ShowTree(float x,float z,float h,float s,int cactus)
{ glEnable(GL_BLEND);
  glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  glEnable(GL_ALPHA_TEST);
  glAlphaFunc(GL_GREATER, 0);
  float mat[16];
  glGetFloatv(GL_MODELVIEW_MATRIX, mat);
  vector3_t X(mat[0], mat[4], mat[8]);
  vector3_t Z(mat[1], mat[5], mat[9]); 
  glBindTexture(GL_TEXTURE_2D, g_cactus[cactus]);
  vector3_t pos(x,0.0,-z);
  pos.y = GetHeight(x, -z) + h + s;
  glBegin(GL_QUADS);
glTexCoord2f(0.0,0.0);glVertex3fv((pos+(X+Z)*-h).v);//left down
glTexCoord2f(1.0,0.0);glVertex3fv((pos+(X-Z)* h).v);//up down
glTexCoord2f(1.0,1.0);glVertex3fv((pos+(X+Z)* h).v);//up right
glTexCoord2f(0.0,1.0);glVertex3fv((pos+(Z-X)* h).v);//left up
  glEnd();
  glDisable(GL_ALPHA);
  glDisable(GL_BLEND);
}

why the line glVertex3fv((pos+(X+Z)*-h).v); can rotate the point? pos+(X+Z)*-h is a translation , isn't it?

 

Share this post


Link to post
Share on other sites
Advertisement
Sign in to follow this  

  • Advertisement