首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 平面设计 > 图形图像 >

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

2012-03-24 
求助OpenGL的问题,怎么去掉glutSwapBuffers()就显示不出来图像了?变成一片空白?代码如下:C/C++ code#ifdef

求助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 circleconst 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了

热点排行