opengl代码
- 作者: 六味地黄丸治肾亏不含糖
- 来源: 51数据库
- 2020-09-24
#include <gl/glut.h>
///////////设置初始状态///////////////
void SetupRC(void)
{
glClearColor(1.0f,1.0f,1.0f,1.0f);
glEnable(GL_DEPTH);
}
/////////////////////////////////////
///////////窗口形状改变时调用//////////////////
void ChangeSize(GLsizei w,GLsizei h)
{
GLfloat aspectRatio;
if(h==0)
h=1;
glViewport(0,0,w,h);
aspectRatio=(GLfloat)w/(GLfloat)h;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(30.0f,aspectRatio,1.0,400.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
///////////////////////////////////////////////////////////
//绘制场景
void RenderScene(void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt(0,0,30, 0,0,0, 0.0,1.0,0.0);
glColor3f(0.0,1.0,0.5);
///////////坐标轴///////////////
glBegin(GL_LINES);
glVertex3f(-80,0,0);
glVertex3f(80,0,0);
glVertex3f(0,-80,0);
glVertex3f(0,80,0);
glVertex3f(0,0,-80);
glVertex3f(0,0,80);
glEnd();
//////////////////////////////////
/////////绘制三角形////
glColor3f(1.0f,0.0f,0.0f);
glBegin(GL_LINE_LOOP);
glVertex3f(0,0,0);
glVertex3f(1,0,0);
glVertex3f(0,1,0);
glEnd();
///////////////////////////////////
glutSwapBuffers();
}
int main(int argc,char* argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutInitWindowSize(800,600);
glutInitWindowPosition(100,100);
glutCreateWindow("啊啊啊");
glutReshapeFunc(ChangeSize);
glutDisplayFunc(RenderScene);
SetupRC();
glutMainLoop();
return 0;
}
///////////设置初始状态///////////////
void SetupRC(void)
{
glClearColor(1.0f,1.0f,1.0f,1.0f);
glEnable(GL_DEPTH);
}
/////////////////////////////////////
///////////窗口形状改变时调用//////////////////
void ChangeSize(GLsizei w,GLsizei h)
{
GLfloat aspectRatio;
if(h==0)
h=1;
glViewport(0,0,w,h);
aspectRatio=(GLfloat)w/(GLfloat)h;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(30.0f,aspectRatio,1.0,400.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
///////////////////////////////////////////////////////////
//绘制场景
void RenderScene(void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt(0,0,30, 0,0,0, 0.0,1.0,0.0);
glColor3f(0.0,1.0,0.5);
///////////坐标轴///////////////
glBegin(GL_LINES);
glVertex3f(-80,0,0);
glVertex3f(80,0,0);
glVertex3f(0,-80,0);
glVertex3f(0,80,0);
glVertex3f(0,0,-80);
glVertex3f(0,0,80);
glEnd();
//////////////////////////////////
/////////绘制三角形////
glColor3f(1.0f,0.0f,0.0f);
glBegin(GL_LINE_LOOP);
glVertex3f(0,0,0);
glVertex3f(1,0,0);
glVertex3f(0,1,0);
glEnd();
///////////////////////////////////
glutSwapBuffers();
}
int main(int argc,char* argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutInitWindowSize(800,600);
glutInitWindowPosition(100,100);
glutCreateWindow("啊啊啊");
glutReshapeFunc(ChangeSize);
glutDisplayFunc(RenderScene);
SetupRC();
glutMainLoop();
return 0;
}
推荐阅读
