专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 图形/图像

OpenGL的有关问题,如何去掉glutSwapBuffers()就显示不出来图像了?变成一片空白

发布时间:2011-06-27 20:37:42 文章来源:www.iduyao.cn 采编人员:星星草
求助OpenGL的问题,怎么去掉glutSwapBuffers()就显示不出来图像了?变成一片空白?
代码如下:
C/C++ code
#ifdef _WIN32
#include <windows.h>
#endif

#include <assert.h>
#include <iostream>
#include <math.h>

#if 0
#include <GL/gl.h>
#else

#include <GL/glew.h>   
#endif

#include <GL/glut.h>
#include <stdlib.h>

float angleX = 2.0;
float angle = 2.0, deltaAngle = 1.0;
float red=1.0, blue=1.0, green=1.0;
float width,height;
int specialKey;

//draw circle
const int n = 20;
const GLfloat R = 0.5f;
const GLfloat Pi = 3.1415926536f;

 void JShape(GLsizei w,GLsizei h)
 {
     glClearColor(1.0,1.0,1.0,0.0);
     glMatrixMode(GL_PROJECTION);
     gluOrtho2D(0,800,0,800);
 }


void Primitives(void) 
 {
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1,0,0);

    glBegin(GL_LINES);
    glVertex2i(800,15);
    glVertex2i(10,800);
    glEnd();

    glFlush();
   // glutSwapBuffers();
    }


void main(int argc, char **argv) 
 {
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE);
    glutInitWindowPosition(80,80);
    glutInitWindowSize(800,800);
    glutCreateWindow("FIVE PIMITIVES");
    glutDisplayFunc(Primitives);

    glutReshapeFunc(JShape);

    glutMainLoop();
  }




为啥void Primitives(void)函数里面去掉glutSwapBuffers()就显示不出来图像了?变成一片空白?

求助大家

非常感谢

------解决方案--------------------
GLUT_DOUBLE是双缓冲,后台绘制,交换缓冲区显示
把GLUT_DOUBLE改成GLUT_SINGLE就不用swap buffer了
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: