Why wont this work?

Started by
4 comments, last by SonShadowCat 22 years, 3 months ago
ive been trying to make a "mind field" with pyramids but when i run the code, there is nothing there! here is the code for DrawGLScene()
        

int DrawGLScene(GLvoid)								// Here's Where We Do All The Drawing

{
  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);  // Clear The Screen And The Depth Buffer

  glLoadIdentity();  // Reset The Current Modelview Matrix

  glTranslatef( -3.0f, 0.0f, -8.0f);  // Move 1.5 left and 8.0 out


  glRotatef( xrot, 1.0f, 0.0f, 0.0f);
  glRotatef( yrot, 0.0f, 1.0f, 0.0f);

  glBindTexture(GL_TEXTURE_2D, texture[1]);  // Select a texture to use


  glBegin(GL_TRIANGLES);
    for (GLfloat x=1.0f; x<=4.0f; x+=1.0f)
    {
      for (GLfloat y=1.0f; y<=4.0f; y+=1.0f)
      {
        for (GLfloat z=1.0f; z<=4.0f; z+=1.0f)
        {
          glTranslatef( (x+4.0f), (y+4.0f), (z+4.0f));  // Move the screen


          triangle.DrawTriangle();  // Draw a triangle

        }
      }
    }
  glEnd();

  xrot+=0.4f;
  yrot+=0.4f;

  return TRUE;  // Everything Went OK

}

    
here is the code for my triangle class
        

class Triangle  // This class will draw a triangle

{
  public:

  void DrawTriangle()  // This will draw a triangle with the info given

  {
    glNormal3f( 0.0f, 0.0f, 1.0f);  // Normal pointing towards viewer

    glTexCoord2f( 0.5f, 1.0f);  // Top middle of texture

    glVertex3f( 0.0f, 1.0f, 0.0f);  // Top point( front)

    glTexCoord2f( 0.0f, 0.0f);  // Left bottom of texture

    glVertex3f( -1.0f, -1.0f, 1.0f);  // Left point( front)

    glTexCoord2f( 1.0f, 0.0f);  // Right bottom of texture

    glVertex3f( 1.0f, -1.0f, 1.0f);  // Right point( front)


    glNormal3f( 1.0f, 0.0f, 0.0f);  // Normal pointing right of viewer

    glTexCoord2f( 0.5f, 1.0f);  // Top middle of texture

    glVertex3f( 0.0f, 1.0f, 0.0f);  // Top point( right)

    glTexCoord2f( 0.0f, 0.0f);  // Left bottom of texture

    glVertex3f( 1.0f, -1.0f, 1.0f);  // Left point( right)

    glTexCoord2f( 1.0f, 0.0f);  // Right bottom of texture

    glVertex3f( 1.0f, -1.0f, -1.0f);  // Right point( right)


    glNormal3f( 0.0f, 0.0f, -1.0f);  // Normal pointing away from viewer

    glTexCoord2f( 0.5f, 1.0f);  // Top middle of texture

    glVertex3f( 0.0f, 1.0f, 0.0f);  // Top point( back)

    glTexCoord2f( 0.0f, 0.0f);  // Left bottom of texture

    glVertex3f( 1.0f, -1.0f, -1.0f);  // Left point( back)

    glTexCoord2f( 1.0f, 0.0f);  // Right bottom of texture

    glVertex3f( -1.0f, -1.0f, -1.0f);  // Right point( back)


    glNormal3f( -1.0f, 0.0f, 0.0f);  // Normal pointing left of viewer

    glTexCoord2f( 0.5f, 1.0f);  // Top middle of texture

    glVertex3f( 0.0f, 1.0f, 0.0f);  // Top point( left)

    glTexCoord2f( 0.0f, 0.0f);  // Left bottom of texture

    glVertex3f( -1.0f, -1.0f, -1.0f);  // Left point( left)

    glTexCoord2f( 1.0f, 0.0f);  // Right bottom of texture

    glVertex3f( -1.0f, -1.0f, 1.0f);  // Right point( left)

  }
};

    
plz help thx "Those who serve no purpose, have no purpose. SSC the Super Saiyan Cat" Edited by - SonShadowCat on January 5, 2002 4:22:54 PM Edited by - SonShadowCat on January 5, 2002 4:23:23 PM
--------------------------------- "Those who serve no purpose, have no purpose."- SSC Oh the possibilities!!Edited By - SonShadowCat on Your Girlfriends Birthday
Advertisement
I think, you are using only 1 texture.....
If you made a array of 1 element like
MyTypeofTexture texture[1];
the first element is texture[0];

but at this line:
glBindTexture(GL_TEXTURE_2D, texture[1]); // Select a texture

you are selecting the secont element of the array texture[1]

but if you are using more then one texture, it´s not the problem....


--------------------------Rory Gallagher and Chico Science music !!!!!!!---------------------------____||~~~~|/TT
yea i figured that out like 10 min before you posted ^^

and becuase i fixed it something else happened( check my new post)


thx anyway

"Those who serve no purpose, have no purpose. SSC the Super Saiyan Cat"
--------------------------------- "Those who serve no purpose, have no purpose."- SSC Oh the possibilities!!Edited By - SonShadowCat on Your Girlfriends Birthday
You also have a glTranslate inside a glBegin/glEnd pair (the one in the inner for loop), and that''s illegal.
it is illegal?

then how am i supposed to make a mine field?

make the x,y,z global?

"Those who serve no purpose, have no purpose. SSC the Super Saiyan Cat"
--------------------------------- "Those who serve no purpose, have no purpose."- SSC Oh the possibilities!!Edited By - SonShadowCat on Your Girlfriends Birthday
i put the translate before the for loops and now all the triangles are made in the same place, now it makes another neat effect

"Those who serve no purpose, have no purpose. SSC the Super Saiyan Cat"
--------------------------------- "Those who serve no purpose, have no purpose."- SSC Oh the possibilities!!Edited By - SonShadowCat on Your Girlfriends Birthday

This topic is closed to new replies.

Advertisement