用户登录
用户注册

分享至

opengl简单

  • 作者: 如果不爱-请你走开-别让我痴痴的等待
  • 来源: 51数据库
  • 2020-09-22
#include?
#include?
#include?

void?myinit(void)
{
??glClearColor(0.0,?0.0,?0.0,?0.0);
??glDepthFunc(GL_LESS);
??glEnable(GL_DEPTH_TEST);
??glShadeModel(GL_FLAT);
??glDepthRange(0.0,?1.0);??
}

void?drawRects(GLenum?mode)
{
glPushMatrix();
glTranslatef(?-1.0f,0.0f,0.0f);

glBegin(GL_QUADS);
glColor3f(1.0,?1.0,?0.0);
glVertex3i(2,?0,?0);
glVertex3i(2,?6,?0);
glVertex3i(6,?6,?0);
glVertex3i(6,?0,?0);
glEnd();

glBegin(GL_TRIANGLES);
glColor3f(0.0,?1.0,?1.0);
glVertex3i(3,?2,?-1);
glVertex3i(3,?8,?-1);
glVertex3i(8,?2,?-1);
glEnd();

glBegin(GL_TRIANGLES);
glColor3f(1.0,?0.0,?1.0);
glVertex3i(0,?2,?-2);
glVertex3i(0,?7,?-2);
glVertex3i(5,?2,?-2);
glEnd();
glPopMatrix();
}




void?display(void)
{
glClear(GL_COLOR_BUFFER_BIT?|?GL_DEPTH_BUFFER_BIT);
drawRects(GL_RENDER);
glutSwapBuffers();
}

void?myReshape(int?w,?int?h)
{
glViewport(0,?0,?w,?h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(65.0,?(GLfloat)?1.0,?1.0,?20.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef?(-3.0,?-3.0,?-8.0);
}

static?void?key(unsigned?char?k,?int?x,?int?y)
{
switch?(k)?{
case?27:??/*?Escape?*/
exit(0);
break;

default:
return;
}
glutPostRedisplay();
}

int?main(int?argc,?char?**argv)
{
glutInitWindowSize(200,?200);
glutInitDisplayMode(GLUT_DOUBLE?|?GLUT_RGB?|?GLUT_DEPTH);
glutInit(&argc,?argv);
glutCreateWindow(argv[0]);
myinit();

glutReshapeFunc(myReshape);
glutDisplayFunc(display);
glutKeyboardFunc(key);
glutMainLoop();
return?0;?????????????
}
软件
前端设计
程序设计
Java相关