opengl实现图形移动时如何消除闪烁 10

主要代码如下,绘制图形的代码不放出来了,长度受限。我的问题是,按键后调用回调函数刷新显示,总有闪烁的视觉,上课看老师演示的时候,不会闪烁,求实现方法。#include<W... 主要代码如下,绘制图形的代码不放出来了,长度受限。我的问题是,按键后调用回调函数刷新显示,总有闪烁的视觉,上课看老师演示的时候,不会闪烁,求实现方法。

#include <Windows.h>
#include <GL.h>
#include <GLU.h>
#include<GLUT.h>

GLfloat xRot = 0;

GLfloat yRot = 0;

void triangle( GLfloat *a, GLfloat *b, GLfloat *c)
{
glVertex2fv(a);
glVertex2fv(b);
glVertex2fv(c);
}

void myTest()
{
// 把背景色设置为白色
glClearColor(0.5f,0.5f,0.5f,1.0f);
glClear(GL_COLOR_BUFFER_BIT| GL_DEPTH_BUFFER_BIT);
glEnable(GL_DEPTH_TEST);
glFlush();

glPushMatrix();
glRotatef(xRot,1.0f, 0.0f, 0.0f);
glRotatef(yRot,0.0f, 1.0f, 0.0f);
/*
glBegin..glEnd这段代码中,仅允许执行部分命令: glVertex,glColor,glSecondaryColor,
glIndex,glNormal, glFogCoord,等等
*/
glBegin(GL_TRIANGLES);
glColor3f(1,1,1);
makeSnow(u[0],u[1],u[2],7,UP);
//divide_tetra(t[0],t[1],t[2],t[3],3);
//divide_triangle(v[0],v[1],v[2],3);
glEnd();
glPopMatrix();
glFlush();
}

void SpecialKeys(unsigned char key, int x, int y)
{

if(key == 'w')
xRot-= 5.0f;

if(key == 's')
xRot += 5.0f;

if(key == 'a')
yRot -= 5.0f;

if(key == 'd')
yRot += 5.0f;

if(key > 356.0f)
xRot = 0.0f;

if(key < -1.0f)
xRot = 355.0f;

if(key > 356.0f)
yRot = 0.0f;

if(key < -1.0f)
yRot = 355.0f;

// Refresh the Window
glutPostRedisplay();
}

int main( int argc,char * argv[] )
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE|GLUT_DEPTH);
glutInitWindowPosition(200,200);
glutCreateWindow("My OpenGL");

glutDisplayFunc(&myTest);
glutKeyboardFunc(SpecialKeys);

glutMainLoop();

return 0 ;
}
通过按键移动图形时,出现下面的颜色问题,是怎么回事?如何处理?
展开
 我来答
积极嘻嘻嘻射手
2014-11-14 · TA获得超过966个赞
知道小有建树答主
回答量:215
采纳率:0%
帮助的人:152万
展开全部
如果用了SwapBuffers,就不用在更新窗口的时候使整个窗口客户区失效,即不用擦除原来的图形。
追问
我没有用SwapBuffers(小白不知道这东西)
天正软件
2024-08-02 广告
上海天正软件有限公司是上海天正信息科技有限公司投资的专注于提供金融行业软件开发及解决方案的公司,上海天正通过与金融企业长期的合作,能够了解金融业务的需要,提供各种客户化的开发及顾问服务,为金融企业裁剪出一套适合自身业务需要的解决方案。... 点击进入详情页
本回答由天正软件提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式