您的位置:首页 > 编程语言

OpenGL 编程(1)

2015-10-09 17:23 295 查看

OpenGL 编程一

GLUT工具库使用

GLUT 通过下面几个函数执行初始化一个窗口,并渲染。

GLUT 初始化函数,并处理所有命令行参数, 应该在其他函数调用之前调用。

gluInit (int *argc, char **argv)


设置模式:RGBA模式, 颜色索引模式, 同时也可以设置单双缓冲,如设置一个所缓冲:
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH)


glutInitDisplayMode(usigned int mode)


设置屏幕大小和位置

glutInitWindowSize(int width, int size)
glutInitWindowPosition(int x, int y)


声明使用OpenGL的版本

glutInitContextVersion(int mojorVersion, int minorVersion)


声明使用OpenGL渲染环境的类型

glutInitContextFlags(int flags)


创建窗口

glutCreateWindow(char *string)


显示回调函数,每当GLUT确定一个窗口的内容需要重新显示时,通过glutDisplayFunc注册那个回调函数会被执行。

glutDisplayFunc(void (*func)(void))


实例:

#include <GL/freeglut.h>
#include <GL/gl.h>
void renderFunction()
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glOrtho(-1.0, 1.0, -1.0, 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);
glEnd();
glFlush();
}

int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE);
glutInitWindowSize(500,500);
glutInitWindowPosition(100,100);
glutCreateWindow("OpenGL - First window demo");
glutDisplayFunc(renderFunction);
glutMainLoop();
return 0;
}
//编译命令:
// gcc gl_test_0.c -o gl_test_0 -lGL -lGLU -lglut
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: