Jump to content
  • Advertisement
Sign in to follow this  
Haku

Please help me

This topic is 4902 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 copied and pasted this code into dev c++ bloodshed and tried to compile it but i got errors. Can u tell me if there is any newbish adjustments i have to make and/or if you need the errors i had, thanks here is the code:
[source=cpp]
//
// This code was created by Jeff Molofee '99 (ported to Linux/GLUT by Richard Campbell '99)
//
// If you've found this code useful, please let me know.
//
// Visit me at www.demonews.com/hosted/nehe 
// (email Richard Campbell at ulmont@bellsouth.net)
//
#include <GL/glut.h>    // Header File For The GLUT Library 
#include <GL/gl.h> // Header File For The OpenGL32 Library
#include <GL/glu.h> // Header File For The GLu32 Library
#include <unistd.h>     // Header File For sleeping.

/* ASCII code for the escape key. */
#define ESCAPE 27

/* The number of our GLUT window */
int window; 

/* rotation angle for the triangle. */
float rtri = 0.0f;

/* rotation angle for the quadrilateral. */
float rquad = 0.0f;
float pos=0; // Triangle position
/* A general OpenGL initialization function.  Sets all of the initial parameters. */
void InitGL(int Width, int Height)         // We call this right after our OpenGL window is created.
{
  glClearColor(1.0f, 0.0f, 0.0f, 0.0f);  // This Will Clear The Background Color To Black
  glClearDepth(1.0);    // Enables Clearing Of The Depth Buffer
  glDepthFunc(GL_LESS);    // The Type Of Depth Test To Do
  glEnable(GL_DEPTH_TEST);   // Enables Depth Testing
  glShadeModel(GL_SMOOTH);   // Enables Smooth Color Shading

  glMatrixMode(GL_PROJECTION);
  glLoadIdentity();    // Reset The Projection Matrix

  gluPerspective(45.0f,(GLfloat)Width/(GLfloat)Height,0.1f,100.0f); // Calculate The Aspect Ratio Of The Window

  glMatrixMode(GL_MODELVIEW);
}

/* The function called when our window is resized (which shouldn't happen, because we're fullscreen) */
void ReSizeGLScene(int Width, int Height)
{
  if (Height==0)    // Prevent A Divide By Zero If The Window Is Too Small
    Height=1;

  glViewport(0, 0, Width, Height);  // Reset The Current Viewport And Perspective Transformation

  glMatrixMode(GL_PROJECTION);
  glLoadIdentity();

  gluPerspective(45.0f,(GLfloat)Width/(GLfloat)Height,0.1f,100.0f);
  glMatrixMode(GL_MODELVIEW);
}

/* The main drawing function. */
void DrawGLScene()
{

  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);  // Clear The Screen And The Depth Buffer
  glLoadIdentity();    // Reset The View

  glTranslatef(-1.5f + pos,0.0f,-6.0f);  // Move Left 1.5 Units And Into The Screen 6.0
 
  glRotatef(rtri,0.0f,1.0f,0.0f);  // Rotate The Triangle On The Y axis 
  // draw a triangle (in smooth coloring mode)
  glBegin(GL_POLYGON);    // start drawing a polygon
  glColor3f(1.0f,0.0f,0.0f);   // Set The Color To Red
  glVertex3f( 0.0f, 1.0f, 0.0f);  // Top
  glColor3f(0.0f,1.0f,0.0f);   // Set The Color To Green
  glVertex3f( 1.0f,-1.0f, 0.0f);  // Bottom Right
  glColor3f(0.0f,0.0f,1.0f);   // Set The Color To Blue
  glVertex3f(-1.0f,-1.0f, 0.0f);  // Bottom Left 
  glEnd();     // we're done with the polygon (smooth color interpolation)

  glLoadIdentity();    // make sure we're no longer rotated.
  glTranslatef(1.5f,0.0f,-6.0f);  // Move Right 3 Units, and back into the screen 6.0
 
  glRotatef(rquad,1.0f,0.0f,0.0f);  // Rotate The Quad On The X axis 
  // draw a square (quadrilateral)
  glColor3f(0.5f,0.5f,1.0f);   // set color to a blue shade.
  glBegin(GL_QUADS);    // start drawing a polygon (4 sided)
  glVertex3f(-1.0f, 1.0f, 0.0f);  // Top Left
  glVertex3f( 1.0f, 1.0f, 0.0f);  // Top Right
  glVertex3f( 1.0f,-1.0f, 0.0f);  // Bottom Right
  glVertex3f(-1.0f,-1.0f, 0.0f);  // Bottom Left 
  glEnd();     // done with the polygon

  rtri+=1.0f;     // Increase The Rotation Variable For The Triangle
  rquad-=1.0f;     // Decrease The Rotation Variable For The Quad 

  // swap the buffers to display, since double buffering is used.
  glutSwapBuffers();
  
}
void idle()
{
 
 DrawGLScene();
}
/* The function called whenever a key is pressed. */
void keyPressed(unsigned char key, int x, int y) 
{
    /* sleep to avoid thrashing this procedure */
    //usleep(10);

    /* If escape is pressed, kill everything. */
 //pos = (GLfloat)x/(GLfloat)y;
 if (key == '3')
 {
  pos += 0.1;
 }
 if(key == '2')
  pos -= 0.1;
    if (key == ESCAPE) 
    { 
 /* shut down our window */
 glutDestroyWindow(window); 
 
 /* exit the program...normal termination. */
 exit(0);                   
    }
}

int main(int argc, char **argv) 
{  
  /* Initialize GLUT state - glut will take any command line arguments that pertain to it or 
     X Windows - look at its documentation at http://reality.sgi.com/mjk/spec3/spec3.html */  
  glutInit(&argc, argv);  

  /* Select type of Display mode:   
     Double buffer 
     RGBA color
     Alpha components supported 
     Depth buffer */  
  glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_ALPHA | GLUT_DEPTH);  

  /* get a 640 x 480 window */
  glutInitWindowSize(640, 480);  

  /* the window starts at the upper left corner of the screen */
  glutInitWindowPosition(0, 0);  

  /* Open a window */  
  window = glutCreateWindow("Jeff Molofee's GL Code Tutorial ... NeHe '99");  

  /* Register the function to do all our OpenGL drawing. */
  glutDisplayFunc(&DrawGLScene);  

  /* Go fullscreen.  This is as soon as possible. */
  glutFullScreen();

  /* Even if there are no events, redraw our gl scene. */
  glutIdleFunc(&idle);

  /* Register the function called when our window is resized. */
  glutReshapeFunc(&ReSizeGLScene);

  /* Register the function called when the keyboard is pressed. */
  glutKeyboardFunc(&keyPressed);

  /* Initialize our window. */
  InitGL(640, 480);
  
  /* Start Event Processing Engine */  
  glutMainLoop();  

  return 1;
}



Share this post


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

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!