中国科大计算机学院OpenGL教程:几何图元与交互系统

需积分: 14 21 下载量 189 浏览量 更新于2024-07-31 收藏 775KB PDF 举报
计算机图形学是信息技术领域的重要分支,它涉及如何在计算机上生成、处理和显示各种视觉效果,包括图像、动画和三维模型。本文档聚焦于高级计算机图形学,特别是使用OpenGL编程基础进行图形渲染。OpenGL是一种广泛使用的跨平台图形库,它提供了一系列函数来控制图形渲染和交互。 首先,文档介绍了在OpenGL中定义几何图元的基础概念。`glBegin()`和`glEnd()`函数是关键,它们分别用于开始和结束图元绘制,`primType`参数决定了顶点如何连接成具体的图形元素,如点、线段、三角形等。接下来的示例展示了如何在OpenGL中设置颜色和顶点坐标,以便细致地描绘图形。 然后,文档详细讨论了OpenGL中的照相机模型。照相机在默认情况下位于对象坐标系的原点,朝向负Z轴,形成一个标准的视景体,其边界定义为左、底、近、右、顶、远六个值。在正交视图中,物体沿Z轴投影到平面z=0,这使得图形呈现为二维的,便于直观理解。 程序结构部分展示了使用GLUT(OpenGL Utility Toolkit)编写图形应用程序的基本框架。GLUT提供了一套函数,包括初始化OpenGL状态、设置显示回调函数,以及处理用户输入的事件驱动编程。`init()`函数负责设置初始状态,`display()`函数则在每次窗口需要更新时被调用,展示当前的图形内容。`main()`函数是程序入口,负责初始化GLUT窗口,注册回调函数,并启动事件循环。 接下来,文档进入“输入与交互”章节,探讨了图形输入设备的重要性,将其分为物理设备(如鼠标、光笔、跟踪球)和逻辑设备(通过API返回给程序的信息)。输入设备的模式可以是主动请求或被动事件驱动,这影响了程序如何接收和响应用户的操作。 物理输入设备如鼠标可以指定屏幕上的点位置,而逻辑属性则涉及设备如何将用户的动作转化为程序可以理解的数据,例如位置坐标和对象标识。Ivan Sutherland的Sketchpad项目被视为交互式计算机图形学的里程碑,它强调了用户交互的核心要素:观察、选择、操作和反馈。 这份PDF文档深入讲解了计算机图形学中的OpenGL编程基础,涵盖了图元定义、视图机制、程序架构以及用户输入和交互的处理方法,为学习和实践图形渲染技术提供了坚实的基础。