文档详情

计算机图形软件OPENGL基础初步.ppt

发布:2017-11-15约1.1万字共46页下载文档
文本预览下载声明
实验之-OpenGL简介 OpenGL简介 基本函数库 与硬件平台无关 含GL、GLU和GLAUX库 函数包括:描述图形元素(图元)、属性、几何变换、观察变换及其它操作 实用函数工具包(GLUT:OpenGL Utility Toolkit) 平台无关 窗口系统操作功能:创建窗口、鼠标和键盘输入、菜单及事件驱动 1 OpenGL体系 2 一个简单的程序simple.cpp #include gl/glut.h void mydisplay(){ glClearColor (1.0,1.0,0,0);//,设置背景色,默认为黑色 glClear(GL_COLOR_BUFFER_BIT);//清除帧缓存 glBegin(GL_POLYGON); glColor3f(1.0,0,0); glVertex2d(-0.5, -0.5); glVertex2d(-0.5, 0.5); glVertex2d(0.5, 0.5); glVertex2d(0.5, -0.5); glEnd(); glFlush(); } void main(int argc, char* argv[]) { glutCreateWindow(简单示例); glutDisplayFunc(mydisplay);// mydisplay是回调函数 glutMainLoop(); } 附:回调函数 回调函数是应用程序提供给Windows系统DLL或其它DLL调用的函数,一般用于截获消息、获取系统信息或处理异步事件 应用程序把回调函数的地址指针告诉DLL,而DLL在适当的时候会调用该函数 回调函数必须遵守事先规定好的参数格式和传递方式,否则DLL一调用它就会引起程序或系统的崩溃 如:glutDisplayFunc(mydisplay); // mydisplay是回调函数 3 OpenGL函数 基本几何形状 点、线段和多边形 Beizier曲线 属性 颜色、线型(实、虚等)。。。 变换 几何变换:平移、旋转、缩放 投影变换:正投影、透视投影 输入(GLUT) 键盘和鼠标 4 OpenGL函数格式 函数格式示例:定义点函数 5 相关函数库 包含 OpenGL核心库(GL) OpenGL实用库(GLU) OpenGL辅助库(GLAUX) OpenGL工具库(GLUT) OpenGL对窗口系统的扩展(WGL,等等) 功能 渲染(Rendering绘图)功能 提供图形绘制所需的各种功能函数 窗口管理功能 管理窗口系统的所有相关功能,如键盘鼠标的响应,各种窗口事件等等 5 相关函数库 OpenGL核心库(GL) 这部分函数用于常规的、核心的图形处理,是OpenGL的核心部分 包含300多个函数,函数名前缀一律是“gl” Windows平台上 头文件“GL.H” 库文件“OPENGL32.LIB” 动态链接库“OPENGL32.DLL” 核心库可以在所有的OpenGL平台上运行 5 相关函数库 OpenGL实用库(GLU) 这部分函数通过调用核心库的函数,为开发者提供相对简单的用法,实现一些较为复杂的操作。如:坐标变换、纹理映射、绘制椭球、茶壶等简单多边形 包含约50个函数,函数名前缀一律是“glu” Windows平台上 头文件“GLU.H” 库文件“GLU32.LIB” 动态链接库“GLU32.DLL” 实用库可以在所有的OpenGL平台上运行 5 相关函数库 OpenGL辅助库(GLAUX) 这部分函数提供窗口管理、输入输出处理以及绘制一些简单三维物体 包含约30个函数,函数名前缀一律是“aux” Windows平台上 头文件“GLAUX.H” 库文件“GLAUX.LIB” 动态链接库“GLAUX.DLL” OpenGL中的辅助库不能在所有的OpenGL平台上运行 5 相关函数库 OpenGL工具库(GLUT) 由Mark Kilgard开发 这部分函数主要提供基于窗口的工具,以及一些绘制较复杂物体的函数 包含大约30多个函数,函数名前缀为“glut” 文件 头文件“GLUT.H” 库文件“GLUT32.LIB” 动态链接库“GLUT32.DLL” glut中的窗口管理函数不依赖于运行环境的,可以在所有的OpenGL平台上运行 5 相关函数库 WGL库:OpenGL对窗口系统的扩展 对于各类窗口系统,OpenGL都提供了一个扩展库 对于Windows系统,OpenGL提供WGL库 并不是所有的函数前缀都是“wgl” 用于连接OpenGL和Windows,在Windows平台上设置OpenGL环境 头文件、库文件和动态链接库都和Win
显示全部
相似文档