解决方法1:
查看是否是由于在myDisplay函数中没有或者忘记加==glFlush()==这一语句,导致绘制的图形不能立即显示在屏幕上所引起的。
自己运行结果如下,右面的黑色是向右拉伸窗口才显示出来的,就是由于自己忘记加上glFlush()了。
示例:(来源链接)
opengl程序问题,为什么只有白屏? 20
程序如下:
#include <windows.h>
#include <GL/glut.h>
#include <stdlib.h>
void display(void){
glColor3f(1.0,1.0,1.0);
glutWireSphere(0.8,18,18);
}
int main(){
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(250,250);
glutInitWindowPosition(100,100);
glutCreateWindow(“sphere”);
glClearColor(0.0,0.0,0.0,0.0);
glClear(GL_COLOR_BUFFER_BIT);
glRotatef(60.0,1.0,0.0,0.0);
glutDisplayFunc(display);
glutMainLoop();
glFlush();
return 0;
}
用的是codeblock+glut,很简单的程序,为什么输出来是一块白色的屏幕,没有球。而且底色也应该是黑的啊?
求个解决方法呗!
回答:程序在glutMainLoop()无限循环,glFlush()永远执行不了
丢到display中。
参考方法2:
原文链接
最近图形学在做上机实验,需要使用到opengl实验操作,可是我的电脑不给力,
不能显示正确结果,每次都是白屏,无法显示应有的结果。
1、问题:opengl 白屏
2、环境:win7系统,64位。机型是宏基E1-571G,显卡是intel集显+英伟达710M 2G独显,VC6.0和vs2008。
3、解决:进入NVIDIA控制面板(我的电脑直接桌面反键就有),全局设置选择
“高性能“”,应用。完美解决,(__) 嘻嘻……
4、思考:这种设置应该是屏蔽集显只开独显的意思吧,应该耗电量会大一些。于是就鼓捣了一下这个控制面板,
有同样问题的可以参考一下。