OpenGL概述

来源:互联网 发布:上古卷轴5精灵捏脸数据 编辑:程序博客网 时间:2024/05/21 06:35

OpenGL概述

上一节配置好了VS下开发OpenGL程序的环境:Visual Studio配置OpenGL开发环境


1、一个实例

首先,可以实现一个小实例程序:

#include <windows.h>#include <gl/glut.h>void display(){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);glEnd();glFlush();}void init(){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 argc, char** argv){glutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);glutInitWindowSize(250, 250);glutInitWindowPosition(100, 100);glutCreateWindow("husheng");init();glutDisplayFunc(display);glutMainLoop();return 0;}


运行可以得到:



这段代码是一个OpenGL程序所必须的基本内容。


2、OpenGL管线



3、OpenGL工具库(GLUT)

OpenGL包含的函数介绍:


窗口管理:

①glutInit(int *argc,char **argv)对GLUT进行初始化。

②glutInitDisplayMode(unsigned int mode)指定是使用RGBA模式还是颜色索引模式。

③glutInitWindowPosition(int x,int y)指定了窗口左上角的屏幕位置。

glutInitWindowSize(int width,int size)指定了窗口的大小。

glutInitContextVersion(int majorVersion,int minorVersion)声明了OpenGL要使用哪个版本。

glutInitContextFlags(int flags)声明OpenGL渲染环境的类型。


显示回调函数:

glutDisplayFunc(void(*func)(void))事件回调函数。


运行程序:

glutMainLoop()启动程序。


处理输入事件:

glutReshapeFunc(void(*func)(int w,int h))窗口大小发生变化时采取什么行动。

②glutMotionFunc(void(*func)(int x,int y))注册一个函数,当按下鼠标移动鼠标时,调用这个函数。


====================================================================================

结束。

0 0