CZDleaf 2016-08-05 15:58 采纳率: 0%
浏览 1382

OpenGL里的display为什么每次都连续执行两次?

代码如下,display是我用glutDisplayFunc注册的函数,不管是窗口刚创建,还是窗口大小被改变,每次都是连续输出两个display

奇怪的是,如果把glClear那句话删掉,就只输出一个display

找bug的时候发现是因为这个。。。求解释!

#include "stdafx.h"

#include

void init()
{
glClearColor(0, 0, 0, 0);
glShadeModel(GL_SMOOTH);
}

void display( void )
{
printf("display\n");
glClear(GL_COLOR_BUFFER_BIT);
}

void reshape(int w, int h)
{
printf("reshape\n");
}

int _tmain(int argc, char** argv)
{
glutInit( &argc, argv );
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize( 500, 500 );
glutInitWindowPosition( 10, 10 );
glutCreateWindow("czd");
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}

  • 写回答

1条回答 默认 最新

  • devmiao 2016-08-06 15:54
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败