首页 > 代码库 > OpenGL学习(hello)
OpenGL学习(hello)
#include <gl/glut.h>
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT); // 清除颜色缓冲以及深度缓冲
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_POLYGON); // 绘画开始话多边形
/*glVertex3f(0.25, 0.25, 0.0);
glVertex3f(0.75, 0.25, 0.0);
glVertex3f(0.75, 0.75, 0.0);
glVertex3f(0.25, 0.75, 0.0);*/
glutWireSphere(1.0,20.0,20.0);
glEnd();// 结束
glFlush();
}
void init(void)
{
glClearColor(0.0, 0.0, 0.0, 0.0); //清空当前的所有颜色
glMatrixMode(GL_PROJECTION); //指定哪一个矩阵是当前矩阵
glLoadIdentity(); //将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);//平行投影矩阵
}
int main(int args, char* argv[])
{
glutInit(&args, (char**)argv); // 对glut进行初始化
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // 指定使用单缓存,rgb模式
glutInitWindowSize(480, 320); // 初始化一个大小480,320的窗口
glutInitWindowPosition(100, 100); // 指定窗口的位置(左上角位置)
glutCreateWindow("Hello OpenGL"); // 定义窗口的名字
init(); // 初始化
glutDisplayFunc(display); // 回调
glutMainLoop(); // 启动程序
return 0;
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT); // 清除颜色缓冲以及深度缓冲
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_POLYGON); // 绘画开始话多边形
/*glVertex3f(0.25, 0.25, 0.0);
glVertex3f(0.75, 0.25, 0.0);
glVertex3f(0.75, 0.75, 0.0);
glVertex3f(0.25, 0.75, 0.0);*/
glutWireSphere(1.0,20.0,20.0);
glEnd();// 结束
glFlush();
}
void init(void)
{
glClearColor(0.0, 0.0, 0.0, 0.0); //清空当前的所有颜色
glMatrixMode(GL_PROJECTION); //指定哪一个矩阵是当前矩阵
glLoadIdentity(); //将当前的用户坐标系的原点移到了屏幕中心:类似于一个复位操作
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);//平行投影矩阵
}
int main(int args, char* argv[])
{
glutInit(&args, (char**)argv); // 对glut进行初始化
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // 指定使用单缓存,rgb模式
glutInitWindowSize(480, 320); // 初始化一个大小480,320的窗口
glutInitWindowPosition(100, 100); // 指定窗口的位置(左上角位置)
glutCreateWindow("Hello OpenGL"); // 定义窗口的名字
init(); // 初始化
glutDisplayFunc(display); // 回调
glutMainLoop(); // 启动程序
return 0;
}
OpenGL学习(hello)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。