读书人

OpenGL的有关问题如何去掉glutSwapB

发布时间: 2012-03-24 14:00:46 作者: rapoo

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

读书人网 >图形图像

热点推荐