【发布时间】:2014-12-24 18:49:46
【问题描述】:
当我运行 OpenGL 程序时,如果当前打开了文本编辑器,opengl 程序会在其屏幕上显示该部分。或者一个网页浏览器是打开的,opengl 程序显示了浏览器的那部分。这是我的主要功能:
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
glutInitWindowSize(500, 500);
glutInitWindowPosition(100, 100);
glutCreateWindow("OpenGL Program");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
我的显示功能:
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
glLoadIdentity();
gluLookAt(posz,posy,posz, 0, 0, 0, upx, upy, upz);
glBegin(GL_TRIANGLES);
glVertex3f(-1.0f,-0.25f,0.0f);
glVertex3f(-0.5f,-0.25f,0.0f);
glVertex3f(-0.75f,0.25f,0.0f);
glEnd();
}
它不会给出任何错误或警告,它只是显示屏幕上已有的内容。我错过了什么?谢谢。
【问题讨论】:
-
检查您的某些初始化是否报告了错误(例如某些不支持的显示格式等),这是我出现此类行为的最常见原因。
-
与几天前的stackoverflow.com/questions/27577474/… 相同的问题。
-
@RetoKoradi 我搜索了问题,但找不到解决方案。该问题的标题不是很容易解释。
-
当然,我很惊讶这个问题并没有仅仅因为它的标题而被否决。关于“为什么......不工作”的问题,代码和没有解释是不受欢迎的,但像这样无用的标题应该更是如此。
-
是的,对于这些类型的问题,在您知道答案之前很难识别重复项。不过,它很常见。我在我的个人网站上有一篇文章,其中涵盖了此类问题的最常见原因,这篇文章列在靠近底部的“未显示框架”下:retokoradi.com/2014/04/21/…。