We closed this forum 18 June 2010. It has served us well since 2005 as the ALPHA forum did before it from 2002 to 2005. New discussions are ongoing at the new URL http://forum.processing.org. You'll need to sign up and get a new user account. We're sorry about that inconvenience, but we think it's better in the long run. The content on this forum will remain online.
Page Index Toggle Pages: 1
plz help (Read 687 times)
plz help
May 5th, 2010, 4:26am
 
ill paste my proj code.here the cube is acting as the light src.how do u make it constant and make the torous rotate.and plz comment each line.i got this project from the net.i dont know how its working


#include <GL/glut.h>
#include <stdlib.h>

static int spin = 0,n=60;
int x=0,y=0,z=0;
/*  Initialize material property, light source, lighting model,
*  and depth buffer.
*/


void init(void)
{
 glClearColor (0.0, 0.0, 0.0, 0.0);
 //glShadeModel (GL_SMOOTH);
 glEnable(GL_LIGHTING);
 glEnable(GL_LIGHT0);
 glEnable(GL_DEPTH_TEST);
}

/*  Here is where the light position is reset after the modeling
*  transformation (glRotated) is called.  This places the
*  light at a new position in world coordinates.  The cube
*  represents the position of the light.
*/


void display(void)
{

 GLfloat position[] = { 0.0, 0.0, 1.5, 1.0 };
 GLfloat mat_diffuse[]={.0,1.7,.0,1.0};
 glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 glPushMatrix ();
 gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
    glColor3f (0.0, 1.0, 1.0);
glPushMatrix ();
glRotated ((GLdouble) spin, x,y,z);
 glLightfv (GL_LIGHT0, GL_POSITION, position);
 glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);
 glTranslated (0.0, 0.0, 1.5);
 glDisable (GL_LIGHTING);
 glColor3f (1.0, .0, 0.0);
 glutWireCube (0.1);
 glEnable (GL_LIGHTING);
 glPopMatrix ();

 glutSolidTorus (0.275, 0.85, 8, 15);

 glPopMatrix ();
 glFlush ();
}
void display1(void)
{

 GLfloat position[] = { 0.0, 0.0, 1.5, 1.0 };
 GLfloat mat_diffuse[]={1.0,0.0,.0,1.0};
 glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 glPushMatrix ();
 gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
    glColor3f (0.0, 1.0, 1.0);
glPushMatrix ();
glRotated ((GLdouble) spin, x,y,z);
 glLightfv (GL_LIGHT0, GL_POSITION, position);
 glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);
 glTranslated (0.0, 0.0, 1.5);
 glDisable (GL_LIGHTING);
 glColor3f (1.0, .0, 0.0);
 glutWireCube (0.1);
 glEnable (GL_LIGHTING);
 glPopMatrix ();

 glutSolidTorus (0.275, 0.85, 8, 15);

 glPopMatrix ();
 glFlush ();
}
void display2(void)
{

 GLfloat position[] = { 0.0, 0.0, 1.5, 1.0 };
 GLfloat mat_diffuse[]={.0,1.7,.0,1.0};
 glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 glPushMatrix ();
 gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
    glColor3f (0.0, 1.0, 1.0);
glPushMatrix ();
glRotated ((GLdouble) spin, x,y,z);
 glLightfv (GL_LIGHT0, GL_POSITION, position);
 glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);
 glTranslated (0.0, 0.0, 1.5);
 glDisable (GL_LIGHTING);
 glColor3f (1.0, .0, 0.0);
 glutWireCube (0.1);
 glEnable (GL_LIGHTING);
 glPopMatrix ();

 glutSolidTorus (0.275, 1.85, 8, 15);

 glPopMatrix ();
 glFlush ();
}


void reshape (int w, int h)
{
 glViewport (0, 0, (GLsizei) w, (GLsizei) h);
 glMatrixMode (GL_PROJECTION);
 glLoadIdentity();
 gluPerspective(40.0, (GLfloat) w/(GLfloat) h, 1.0, 20.0);
 glMatrixMode(GL_MODELVIEW);
 glLoadIdentity();
}

void mytimer(int v)
{
 spin = (spin +5) % 360;
 glutTimerFunc(1600/n,mytimer,v);
 glutPostRedisplay();
}



void menu(int id)
 {
     switch(id)
     {
     case 0:x=1,y=0,z=0;
           break;
     case 1:x=0,y=1,z=0;
           break;
     case 2:x=0,y=0,z=1;
           break;
     case 3:x=0,y=0,z=0;
     case 4:glShadeModel (GL_SMOOTH);
           break;
     case 5:glShadeModel (GL_FLAT);
           break;
     case 6:exit(0);
                       break;
    case 7:glutDisplayFunc(display1);
                             break;
    case 8:glutDisplayFunc(display);
                break;
    case 9:glutDisplayFunc(display2);
          break;

   

    }
 }


   
int main(int argc, char** argv)
{
 glutInit(&argc, argv);
 glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
 glutInitWindowSize (500, 500);
 glutInitWindowPosition (100, 100);
 glutCreateWindow (argv[0]);
 init ();
 glutDisplayFunc(display);
 glutReshapeFunc(reshape);
 //glutMouseFunc(mouse);
 glutTimerFunc(100,mytimer,n);
 glutCreateMenu(menu);
 glutAddMenuEntry("along x axis",0);
 glutAddMenuEntry("along y axis",1);
 glutAddMenuEntry("along z axis",2);
 glutAddMenuEntry("default",3);
 glutAddMenuEntry("smooth shade model",4);
 glutAddMenuEntry("flat shade model",5);
 glutAddMenuEntry("quit",6);
 glutAddMenuEntry("red",7);
 glutAddMenuEntry("green",8);
    glutAddMenuEntry("size change",9);

 glutAttachMenu(GLUT_RIGHT_BUTTON);
 glutMainLoop();
 return 0;
}
Re: plz help
Reply #1 - May 5th, 2010, 4:47am
 
1) Try and make significant subject lines, as most posts there are to ask for help...
2) You show us C code, Processing is made in Java...
Re: plz help
Reply #2 - May 5th, 2010, 5:11am
 
what do u mean by-"You show us C code".this is my code.we use visual studio6.0
Re: plz help
Reply #3 - May 5th, 2010, 5:19am
 
veen wrote on May 5th, 2010, 5:11am:
what do u mean by-"You show us C code".this is my code.we use visual studio6.0


This forum is for Processing (based on Java).  You've posted code in C - i.e. a different programming language...

Lips Sealed
Page Index Toggle Pages: 1