CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  图形图像/机器视觉

OPENGL的菜鸟问题,希望老师指点下,谢谢

楼主gata8848(甘滔)2006-03-07 13:41:03 在 专题开发/技术/项目 / 图形图像/机器视觉 提问

#include   <GL/glut.h>  
  #include   <stdlib.h>  
   
  void   display(void)  
  {  
  glClear(GL_COLOR_BUFFER_BIT);  
  glLoadIdentity();   //   重置视口  
  glPushMatrix();  
  glTranslatef(0.0f,0.0f,0.0f);    
  glBegin(GL_TRIANGLES);   //   绘制三角形  
  glVertex3f(   0.0f,   10.0f,   0.0f);    
  glVertex3f(-10.0f,-10.0f,   0.0f);    
  glVertex3f(   10.0f,-10.0f,   0.0f);    
  glPopMatrix();  
  glTranslatef(10.0f,0.0f,0.0f);  
  glPushMatrix();  
  glBegin(GL_QUADS);   //   绘制正方形  
  glVertex3f(-10.0f,   10.0f,   0.0f);   //   左上  
  glVertex3f(   10.0f,   10.0f,   0.0f);   //   右上  
  glVertex3f(   10.0f,-10.0f,   0.0f);   //   左下  
  glVertex3f(-10.0f,-10.0f,   0.0f);   //   右下      
  glPopMatrix();  
  glEnd();          
  glutSwapBuffers();  
  }  
  void   keyboard(unsigned   char   key,   int   x,   int   y)  
  {  
        switch   (key)   {  
              case   27:     /*     Escape   key     */  
                    exit(0);  
                    break;  
              default:  
                    break;  
        }  
  }  
     
  void   init(void)    
  {  
        glClearColor   (0.0,   0.0,   0.0,   0.0);  
        glShadeModel   (GL_FLAT);  
  }  
   
  void   reshape(int   w,   int   h)  
  {  
        glViewport   (0,   0,   (GLsizei)   w,   (GLsizei)   h);  
        glMatrixMode(GL_PROJECTION);  
        glLoadIdentity();  
        glOrtho(-50.0,   50.0,   -50.0,   50.0,   -1.0,   1.0);  
        glMatrixMode(GL_MODELVIEW);  
        glLoadIdentity();  
  }  
   
  int   main(int   argc,   char**   argv)  
  {  
        glutInit(&argc,   argv);  
        glutInitDisplayMode   (GLUT_DOUBLE   |   GLUT_RGB);  
        glutInitWindowSize   (800,   600);    
        glutInitWindowPosition   (0,   0);  
        glutCreateWindow   (argv[0]);  
        init   ();  
        glutKeyboardFunc   (keyboard);  
        glutDisplayFunc(display);    
        glutReshapeFunc(reshape);    
        glutMainLoop();  
        return   0;       /*   ANSI   C   requires   main   to   return   int.   */  
  }  
  菜鸟我想画一个三角形和一个正方形,两个图像都显示在屏幕上。所以做了这一段代码。但是  
  glTranslatef(0.0f,0.0f,0.0f);这个函数用得不妥当,前面的三角形得不到平移,希望各位老师  
  帮我指点一下。谢谢 问题点数:20、回复次数:4Top

1 楼happy__888([顾问团]寻开心 www.e-jjj.com)回复于 2006-03-07 14:05:34 得分 10

你的问题是glBegin和glEnd没有成对  
  三角形绘制完成后,少了一个glEnd的调用Top

2 楼gata8848(甘滔)回复于 2006-03-07 15:22:02 得分 0

我让他成对之后还是不行哦,不知道是怎么回事Top

3 楼happy__888([顾问团]寻开心 www.e-jjj.com)回复于 2006-03-07 15:41:07 得分 10

glPushMatrix();  
  glTranslatef(0.0f,0.0f,0.0f);    
  glBegin(GL_TRIANGLES);   //   &raquo;&aelig;&Ouml;&AElig;&Egrave;&yacute;&frac12;&Ccedil;&ETH;&Icirc;  
  glVertex3f(     0.0f,   10.0f,   0.f);    
  glVertex3f(-10.0f,-10.0f,   0.f);    
  glVertex3f(   10.0f,-10.0f,   0.f);    
  glEnd();  
  glPopMatrix();  
   
  glTranslatef(10.0f,0.0f,0.0f);     //    
  glPushMatrix();   //    
  glBegin(GL_QUADS);   //   &raquo;&aelig;&Ouml;&AElig;&Otilde;&yacute;·&frac12;&ETH;&Icirc;  
  glVertex3f(-10.0f,   10.0f,   0.0f);   //   ×ó&Eacute;&Iuml;  
  glVertex3f(   10.0f,   10.0f,   0.0f);   //   &Oacute;&Ograve;&Eacute;&Iuml;  
  glVertex3f(   10.0f,-10.0f,   0.0f);   //   ×ó&Iuml;&Acirc;  
  glVertex3f(-10.0f,-10.0f,   0.0f);   //   &Oacute;&Ograve;&Iuml;&Acirc;      
  glPopMatrix();   //    
  glEnd();          
   
  结果是一个梯形:左边三角形和右边矩形挨在一起Top

4 楼gata8848(甘滔)回复于 2006-03-07 16:45:14 得分 0

谢谢各位老师的解答;问题解决了,谢谢。菜鸟我正在起步学习,呵呵Top

相关问题

  • 菜鸟疑问,恳求各位走过路过的老师指点一下
  • 超级菜鸟的问题(着急的冒火)恳请各位老师给指点一下
  • 菜鸟问题,请指点!!
  • 请指点菜鸟,谢谢
  • 老鸟、菜鸟……都进来指点指点!
  • 关于Pascal的问题,请各位老师指点!
  • 新手学做JSP新闻系统,请老师指点!
  • 我是菜鸟,那位大哥指点指点~~谢谢!!
  • !!!盼望各位老鸟指点指点,有分
  • 提菜鸟问题,老鸟请指点

关键词

  • glvertex3
  • gltranslatef
  • glbegin
  • glend
  • glpushmatrix
  • 谢谢
  • gl
  • 三角形
  • glpopmatrix
  • 老师

得分解答快速导航

  • 帖主:gata8848
  • happy__888
  • happy__888

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo