OpenGL编程轻松入门之堆栈操作
发布时间:2006-05-17 11:50:46 来源:天极开发 网友评论 0 条 本节中的例子其结构和例1一样,仅改变myDisplay和myReshape。
例4:利用堆栈绘制三个物体--一个绿色的茶壶,一个蓝色的茶壶,一个红色的立方体(部分代码)
运行后,我们可以看到左边为一个绿色的茶壶,中间为蓝色的茶壶,右边为红色的立方体,如图四。现在我们注释掉所有的glPushMatrix();glPopMatrix();运行后我们会发现两个茶壶重叠在一起,如图五。这是因为glPushMatrix();glPopMatrix();使得坐标转换的原始坐标都是最初始的坐标。而将glPushMatrix(); glPopMatrix()注释掉后,glTranslatef(5.0,0.0,0.0); glTranslatef(-5.0,0.0,0.0);两行语句使得绿色茶壶回到了(0,0)就和蓝色的茶壶重叠在一起。
除此之外还有很多堆栈操作,需要用时可以通过查MSDN或网络或有关书籍。
例4:利用堆栈绘制三个物体--一个绿色的茶壶,一个蓝色的茶壶,一个红色的立方体(部分代码)
| void myDisplay(void) { glClear(GL_COLOR_BUFFER_BIT); /*蓝色茶壶*/ glPushMatrix(); glColor3f(0.0,0.0,1.0); glutSolidTeapot(1.5); glPopMatrix(); /*红色立方体*/ glPushMatrix(); glTranslatef(5.0,0.0,0.0);//坐标变换 glColor3f(1.0,0.0,0.0); glutSolidCube(1.0); glPopMatrix(); /*绿色茶壶*/ glPushMatrix(); glTranslatef(-5.0,0.0,0.0);//坐标变换 glColor3f(0.0,1.0,0.0); glutSolidTeapot(1.0); glPopMatrix(); glFlush(); } void myReshape(GLsizei w,GLsizei h) { glViewport(0,0,w,h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(80.0,(GLdouble)w/(GLdouble)h,1.0,20.0);//创建透视投影矩阵 glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(0.0,0.0,-8.0); } |
运行后,我们可以看到左边为一个绿色的茶壶,中间为蓝色的茶壶,右边为红色的立方体,如图四。现在我们注释掉所有的glPushMatrix();glPopMatrix();运行后我们会发现两个茶壶重叠在一起,如图五。这是因为glPushMatrix();glPopMatrix();使得坐标转换的原始坐标都是最初始的坐标。而将glPushMatrix(); glPopMatrix()注释掉后,glTranslatef(5.0,0.0,0.0); glTranslatef(-5.0,0.0,0.0);两行语句使得绿色茶壶回到了(0,0)就和蓝色的茶壶重叠在一起。
除此之外还有很多堆栈操作,需要用时可以通过查MSDN或网络或有关书籍。
- 推荐阅讯
- VS2005中用Code Snippets提高开发效率
- Web 2.0学习指南
- IBM与Novel联手推新开源软件
- Borland引入新型架构提升软件系统功能
- 创建基于AJAX技术的Scribble应用程序
- AJAX中JavaScript类的三种成员
- 用AJAX编写用户注册实例及技术小结
- Spring事务处理及其AOP框架的内幕
- Web2.0年会:30亿美元有望砸向互联网
- 谈AJAX的安全性及AJAX安全隐患
- 阅读排行
- 1..net页面间的参数传递简单实例
- 2.VC++与Matlab混合编程之引擎操作详解
- 3.Oracle数据库数据对象分析
- 4.Eclipse3.2+Tomcat5.5.17+Oracle9配置
- 5.Oracle数据库中索引的维护
- 6.在Oracle的网络结构中解决连接问题
- 7.Oracle数据安全面面观
- 8.Oracle数据库的ORA-00257故障解决过程
- 9.Oracle数据库备份与恢复的三种方法
- 10.Oracle与SQL Server在企业应用中的比较
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册


