OpenGL实现橡皮筋效果
需积分: 25 19 浏览量
更新于2024-09-08
收藏 2KB TXT 举报
"这篇资源是关于计算机图形学基础的,特别是使用OpenGL实现橡皮筋效果的改良版。通过OpenGL库,作者提供了一段代码示例,用于在窗口中绘制两个点之间的线段,模拟橡皮筋拉伸的效果。"
OpenGL是一种广泛应用于图形编程的开源图形库,它允许开发者创建复杂的3D和2D图形。在这个实例中,我们看到一个简单的OpenGL应用,用于在窗口中绘制一条橡皮筋般的线条。这个程序主要由以下几个部分组成:
1. **初始化函数(Initial)**:设置背景颜色为白色。`glClearColor(1.0f,1.0f,1.0f,1.0f);`这行代码定义了清除颜色缓冲区时使用的颜色,即屏幕的背景色。
2. **窗口大小改变函数(ChangeSize)**:当窗口尺寸发生变化时,此函数更新视口和投影矩阵。`glViewport`设置了渲染区域,`glMatrixMode`切换到投影矩阵模式,`glLoadIdentity`重置矩阵,然后`gluOrtho2D`创建了一个二维正交投影,从(0,0)到(winWidth,winHeight),其中坐标系的原点位于左下角。
3. **显示函数(Display)**:清除颜色缓冲区,然后根据当前点数(iPointNum)绘制线段。如果至少有一个点被定义(iPointNum>=1),则使用`glBegin(GL_LINES)`开始绘制线段,`glVertex2i`指定每个顶点的坐标,最后`glEnd()`结束绘制。这里的线段模拟了橡皮筋的拉伸效果,从(x1,y1)到(x2,y2)。
4. **鼠标点击处理函数(MousePlot)**:监听鼠标按钮的按下事件。左键单击用于定义或修改点的位置,右键单击用于清除当前的线段。当左键第一次按下时,设置第一个点(x1, y1),第二次按下时,设置第二个点(x2, y2),并触发重绘(`glutPostRedisplay`)。右键单击将点数重置为0,清除线段。
通过这段代码,我们可以学习到如何使用OpenGL进行基本的交互式图形绘制,包括响应鼠标事件、设置视口和投影、以及动态更新画面。这对于理解OpenGL的工作原理和开发图形应用程序是很有帮助的。在实际项目中,这样的基础可以扩展到更复杂的3D模型和动画效果。
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
qq_37636499
- 粉丝: 0
- 资源: 2
最新资源
- Windows CE Programming [PDA][C++].pdf
- Wince深入浅出教程.pdf
- PlatformBuilderandEmbeddedVisualC++.pdf
- SQL语法参考手册,简单易用
- profiler使用大全
- ejb3.0实例教程.pdf
- 数据挖掘概念与技术Ed2
- Arm system developer's giude.pdf
- SVM Nice paper
- Spring开发指南(PDF)
- SQL Server 2005安装使用教程
- 需求分析的模板要的下
- VIM用户使用手册中文版
- Fedora10正式版完全安装教程.pdf
- 高速PCB设计指南高速PCB设计指南高速PCB设计指南
- zend framework 分页类