您的位置:首页 > 运维架构

OpenGL中一些函数的整理(一)

2016-12-20 20:49 176 查看
以《计算机图形学》第四版范例源码为例:

#include <GL\glut.h>
#include <stdio.h>

void init(void)
{
glClearColor(1.0, 1.0, 1.0, 0.0); // 设置清除颜色(窗口背景颜色),该例中为白色,参数为RGBA

glMatrixMode(GL_PROJECTION); // 设置下一步需要操作的矩阵,该例中为投影矩阵。参数为符号化常量,矩阵名
gluOrtho2D(0.0, 200.0, 0.0, 150.0);//表示将世界坐标系中二维矩形区域中的内容投影到屏幕上,四个参数为X、Y坐标范围
}

void lineSegment(void)
{
glClear(GL_COLOR_BUFFER_BIT); // 用glClearColor函数中设置的颜色执行清除,参数为需要清除的缓冲区

glColor3f(0.0, 0.4, 0.2); // 设置当前需要显示的对象的颜色,函数中的f表示使用浮点数作为参数
glBegin(GL_LINES);
glVertex2i(200, 0); // 指定画线所需要的参数
glVertex2i(0, 150);
glEnd();

glFlush(); // 强制清空所有缓存来处理OpenGL函数
}

void main(int argc, char** argv)
{
glutInit(&argc, argv); // 初始化GLUT

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // 设置显示模式,参数为符号化GLUT常量。该例中设置窗口使用单个缓存且使用RGB颜色模型

glutInitWindowPosition(50, 100); // 设置显示窗口左上角顶点的初始位置,两个参数分别为该点离屏幕左边界的像素数,以及离上边界的像素数
glutInitWindowSize(400, 300); // 设定显示窗口初始宽度和高度的像素数,参数分别为宽度和高度
glutCreateWindow("An Example OpenGL Program"); // 创建窗口,参数是一个字符串,为创建窗口的名称
init(); // Execute initialization procedure.
glutDisplayFunc(lineSegment); // 传递一个显示回调函数给,该函数被注册,然后在GLUT内部需要重绘时调用(创建窗口时也需要重绘)
glutMainLoop(); // 激活所有已创建的显示窗口连同其中的图形内容,该函数必须是程序中的最后一个
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OpenGL C++