Click here to Skip to main content
15,899,825 members
Please Sign up or sign in to vote.
1.00/5 (3 votes)
See more:
Hi,

Kindly let me know, how do I change torus color into Red instead Grey color and what command lines are required to do the same.


Thank you

Here are codes

C++
#include <gl/glut.h>
#include <stdlib.h>

static int spin=0;

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);
}

void display(void)
{
	GLfloat position[] = {0.0, 0.0, 1.5, 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);
	glPushMatrix();
	glRotated((GLdouble) spin, 1.0, 0.0, 0.0);
	glLightfv(GL_LIGHT0, GL_POSITION, position);

	glTranslated(0.0, 0.0, 1.5);
	glDisable(GL_LIGHTING);

	glutWireCube(0.0);
	glEnable(GL_LIGHTING);	
	glPopMatrix();

	glutSolidTorus(0.275, 0.85, 8, 5);
	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 mouse(int button, int state, int x, int y)
{
	switch(button)
	{
	case GLUT_LEFT_BUTTON:
		if(state == GLUT_DOWN)
		{
			glEnable(GL_LIGHTING);	
			spin = (spin + 30) % 360;
			glutPostRedisplay();
		}
		break;

	default:
		break;	
	}
}

void keyboard(unsigned char key, int x, int y)
{
	switch(key)
	{
	case 27:
		exit(0);
		break;	
	}
}

int main(int argc, char** argv)
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
	glutInitWindowSize(500,500);
	glutInitWindowPosition(100,100);
	glutCreateWindow("My Torus with Mouse Click");
	glutDisplayFunc(display);
	init();	
	glutReshapeFunc(reshape);
	glutMouseFunc(mouse);
	glutKeyboardFunc(keyboard);
	glutMainLoop();
	
	return 0;
}
Posted
Comments
Richard MacCutchan 15-Dec-13 8:53am    
Please do not post the same question in multiple forums.

1 solution

 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900